12015-12-29 Andre Vehreschild <vehre@gcc.gnu.org> 2 3 PR fortran/69011 4 * trans-stmt.c (gfc_trans_allocate): Unwrap a NOP_EXPR to make sure 5 the actual type of the source=-expr is used when it is of class type. 6 Furthermore prevent an ICE. 7 82015-12-18 Paul Thomas <pault@gcc.gnu.org> 9 10 PR fortran/68196 11 *expr.c (gfc_has_default_initializer): Prevent infinite recursion 12 through this function for procedure pointer components. 13 * trans-array.c (structure_alloc_comps): Ditto twice. 14 152015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> 16 17 * resolve.c (resolve_critical): Committing symbols of 18 lock variables. 19 202014-12-14 Tobias Burnus <burnus@net-b.de> 21 22 PR fortran/68850 23 * gfortran.texi (Standards): Mention TS 18508. 24 (Fortran 2003 and 2008 Status): Add section on TS 18508 status. 25 * intrinsic.texi (EVENT_QUERY): Add. 26 272014-12-12 Tobias Burnus <burnus@net-b.de> 28 29 PR fortran/45859 30 * expr.c (gfc_is_simply_contiguous): Optionally permit array elements. 31 (gfc_check_pointer_assign): Update call. 32 * interface.c (compare_parameter): Ditto. 33 * trans-array.c (gfc_conv_array_parameter): Ditto. 34 * trans-intrinsic.c (gfc_conv_intrinsic_transfer, 35 conv_isocbinding_function): Ditto. 36 * gfortran.h (gfc_is_simply_contiguous): Update prototype. 37 382014-12-12 Tobias Burnus <burnus@net-b.de> 39 40 PR fortran/68815 41 * check.c (gfc_check_reshape): Replace %<%d%> by %qd. 42 * matchexp.c (gfc_match_defined_op_name): Use %qc. 43 * symbol.c (gfc_add_new_implicit_range, 44 gfc_merge_new_implicit): Ditto. 45 462015-12-10 David Malcolm <dmalcolm@redhat.com> 47 48 * io.c (gfc_match_open): Fix indentation. 49 502015-12-09 Tobias Burnus <burnus@net-b.de> 51 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> 52 53 * trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status): 54 Introducing __asm__ __volatile__ ("":::"memory") 55 after image control statements. 56 * trans-stmt.c (gfc_trans_sync, gfc_trans_event_post_wait, 57 gfc_trans_lock_unlock, gfc_trans_critical): Ditto. 58 * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, 59 conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory") 60 after send, before get and around sendget. 61 622015-12-09 Tobias Burnus <burnus@net-b.de> 63 64 PR fortran/68815 65 * decl.c (gfc_verify_c_interop_param, variable_decl): Use 66 %< ... %> for quoting in diagnostics. 67 * io.c (check_format): Ditto. 68 * resolve.c (resolve_operator): Ditto. 69 * symbol.c (check_conflict): Ditto. 70 * trans-common.c (translate_common): Ditto. 71 722015-12-07 David Malcolm <dmalcolm@redhat.com> 73 74 * error.c (gfc_format_decoder): Update for change of 75 text_info::set_range to text_info::set_location. 76 772015-12-05 Paul Thomas <pault@gcc.gnu.org> 78 79 PR fortran/68676 80 * decl.c (gfc_match_formal_arglist): Correct error, where 'sym' 81 was used instead of 'progname'. 82 832015-12-02 Tobias Burnus <burnus@net-b.de> 84 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> 85 86 * check.c (gfc_check_event_query): New function. 87 * dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST, 88 EXEC_EVENT_WAIT. 89 * expr.c (gfc_check_vardef_context): New check for event variables 90 definition. 91 * gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. 92 (gfc_isym_id): GFC_ISYM_EVENT_QUERY. 93 (struct symbol_attribute): New field. 94 (gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT. 95 * gfortran.texi: Document about new events functions and minor 96 changes. 97 * interface.c (compare_parameter): New check. 98 (gfc_procedure_use): New check for explicit procedure interface. 99 (add_subroutines): Add event_query. 100 * intrinsic.h (gfc_check_event_query,gfc_resolve_event_query): 101 New prototypes. 102 * iresolve.c (gfc_resolve_event_query): New function. 103 * iso-fortran-env.def (event_type): New type. 104 * match.c (event_statement,gfc_match_event_post,gfc_match_event_wait): 105 New functions. 106 (gfc_match_name): New event post and event wait. 107 * match.h (gfc_match_event_post,gfc_match_event_wait): 108 New prototypes. 109 * module.c (ab_attribute): Add AB_EVENT_COMP. 110 (attr_bits): Likewise. 111 (mio_symbol_attribute): Handle event_comp attribute. 112 * parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. 113 (next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. 114 (gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. 115 (parse_derived): Check for event_type components. 116 * resolve.c (resolve_allocate_expr): Check for event variable def. 117 (resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It 118 includes logic for locks and events. 119 (gfc_resolve_code): Call it. 120 (gfc_resolve_symbol): New check for event variable to be a corray. 121 * st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and 122 EXEC_EVENT_WAIT. 123 * trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait, 124 gfor_fndecl_caf_event_query): New global variables. 125 (generate_coarray_sym_init): Checking for event_type. 126 (gfc_conv_procedure_call): Check for C bind attribute. 127 * trans-intrinsic.c (conv_intrinsic_event_query): New function. 128 (conv_intrinsic_move_alloc): Call it. 129 * trans-stmt.c (gfc_trans_lock_unlock): Passing address 130 of actual argument. 131 (gfc_trans_sync): Likewise. 132 (gfc_trans_event_post_wait): New function. 133 * trans-stmt.h (gfc_trans_event_post_wait): New prototype. 134 * trans-types.c (gfc_get_derived_type): Integer_kind as event_type. 135 * trans.c (gfc_allocate_using_lib): New argument and logic for events. 136 (gfc_allocate_allocatable): Passing new argument. 137 (trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT. 138 * trans.h (gfc_coarray_type): New elements. 139 (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait, 140 gfor_fndecl_caf_event_query): Declare them. 141 1422015-12-02 Cesar Philippidis <cesar@codesourcery.com> 143 144 PR fortran/63861 145 * openmp.c (gfc_match_omp_clauses): Allow subarrays for acc reductions. 146 (resolve_omp_clauses): Error on any acc reductions on arrays. 147 1482015-12-01 Cesar Philippidis <cesar@codesourcery.com> 149 150 * dump-parse-tree.c (show_omp_clauses): Handle optional num and static 151 arguments for the gang clause. 152 * gfortran.h (gfc_omp_clauses): Rename gang_expr as gang_num_expr. 153 Add gang_static_expr. 154 * openmp.c (gfc_free_omp_clauses): Update to free gang_num_expr and 155 gang_static_expr. 156 (match_oacc_clause_gang): Update to support both num and static in 157 the same clause. 158 (resolve_omp_clauses): Formatting. Also handle gang_num_expr and 159 gang_static_expr. 160 (resolve_oacc_params_in_parallel): New const char arg argument. 161 Use it to report more accurate gang, worker and vector clause errors. 162 (resolve_oacc_loop_blocks): Update calls to 163 resolve_oacc_params_in_parallel. 164 * trans-openmp.c (gfc_trans_omp_clauses): Update the gimplification of 165 the gang clause. 166 (gfc_trans_oacc_combined_directive): Make use of gang_num_expr and 167 gang_static_expr. Remove OMP_LIST_REDUCTION from construct_clauses. 168 1692015-11-30 Cesar Philippidis <cesar@codesourcery.com> 170 James Norris <jnorris@codesourcery.com> 171 Nathan Sidwell <nathan@codesourcery.com> 172 173 * f95-lang.c (gfc_attribute_table): Add an "oacc function" 174 attribute. 175 * gfortran.h (symbol_attribute): Add an oacc_function bit-field. 176 (gfc_oacc_routine_name): New struct; 177 (gfc_get_oacc_routine_name): New macro. 178 (gfc_namespace): Add oacc_routine_clauses, oacc_routine_names and 179 oacc_routine fields. 180 (gfc_exec_op): Add EXEC_OACC_ROUTINE. 181 * openmp.c (OACC_ROUTINE_CLAUSES): New mask. 182 (gfc_oacc_routine_dims): New function. 183 (gfc_match_oacc_routine): Add support for named routines and the 184 gang, worker vector and seq clauses. 185 * parse.c (is_oacc): Add EXEC_OACC_ROUTINE. 186 * resolve.c (gfc_resolve_blocks): Likewise. 187 * st.c (gfc_free_statement): Likewise. 188 * trans-decl.c (add_attributes_to_decl): Attach an 'oacc function' 189 attribute and shape geometry for acc routine. 190 1912015-11-30 Paul Thomas <pault@gcc.gnu.org> 192 193 PR fortran/68534 194 * decl.c (gfc_match_formal_arglist): Cope with zero formal args 195 either in interface declaration or in procedure declaration in 196 submodule. 197 1982015-11-25 Steven G. Kargl <kargl@gcc.gnu.org> 199 200 PR fortran/68227 201 * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into 202 into part of conditional statement. 203 2042015-11-25 Ilmir Usmanov <me@ilmir.us> 205 Cesar Philippidis <cesar@codesourcery.com> 206 207 PR fortran/63858 208 * scanner.c (skip_oacc_attribute): Remove continue_flag parameter. 209 Rename as ... 210 (skip_free_oacc_sentinel): ... this. 211 (skip_omp_attribute): Remove continue_flag parameter. Rename as ... 212 (skip_free_omp_sentinel): ... this. 213 (skip_free_comments): Update to call skip_free_oacc_sentinel and 214 skip_free_omp_sentinel. 215 (skip_fixed_omp_sentinel): New function. 216 (skip_fixed_oacc_sentinel): New function. 217 (skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in 218 continuation. 219 2202015-11-24 Steven G. Kargl <kargl@gcc.gnu.org> 221 222 PR fortran/68486 223 * simplify.c (gfc_simplify_cshift): Allow all EXPR_*. 224 2252015-11-22 Steven G. Kargl <kargl@gcc.gnu.org> 226 227 PR fortran/68486 228 * simplify.c (gfc_simplify_cshift): Add EXPR_OP to mix. 229 2302015-11-22 James Norris <jnorris@codesourcery.com> 231 Steven G. Kargl <kargl@gcc.gnu.org> 232 233 * openmp.c (match_oacc_clause_gang): Fix uninitialized variable. 234 (gfc_resolve_oacc_declare): Fix comparision. 235 2362015-11-22 James Norris <jnorris@codesourcery.com> 237 Cesar Philippidis <cesar@codesourcery.com> 238 239 * dump-parse-tree.c (show_namespace): Handle declares. 240 * gfortran.h (struct symbol_attribute): New fields. 241 (enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK. 242 (OMP_LIST_LINK): New enum. 243 (struct gfc_oacc_declare): New structure. 244 (gfc_get_oacc_declare): New definition. 245 (struct gfc_namespace): Change type. 246 (enum gfc_exec_op): Add EXEC_OACC_DECLARE. 247 (struct gfc_code): New field. 248 * module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE, 249 AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR, 250 AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK 251 (attr_bits): Add new initializers. 252 (mio_symbol_attribute): Handle new atributes. 253 * openmp.c (gfc_free_oacc_declare_clauses): New function. 254 (gfc_match_oacc_clause_link: Likewise. 255 (OMP_CLAUSE_LINK): New definition. 256 (gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK. 257 (OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK 258 (gfc_match_oacc_declare): Add checking and module handling. 259 (resolve_omp_clauses): Add array initializer. 260 (gfc_resolve_oacc_declare): Reimplement. 261 * parse.c (case_decl): Add ST_OACC_DECLARE. 262 (parse_spec): Remove handling. 263 (parse_progunit): Remove handling. 264 * parse.h (struct gfc_state_data): Change type. 265 * resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE. 266 * st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE. 267 * symbol.c (check_conflict): Add conflict checks. 268 (gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin, 269 gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident): 270 New functions. 271 (gfc_copy_attr): Handle new symbols. 272 * trans-decl.c (add_clause, find_module_oacc_declare_clauses, 273 finish_oacc_declare): New functions. 274 (gfc_generate_function_code): Replace with call. 275 * trans-openmp.c (gfc_trans_oacc_declare): Reimplement. 276 (gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE. 277 * trans-stmt.c (gfc_trans_block_construct): Replace with call. 278 * trans-stmt.h (gfc_trans_oacc_declare): Remove argument. 279 * trans.c (trans_code): Handle EXEC_OACC_DECLARE. 280 2812015-11-21 Steven G. Kargl <kargl@gcc.gnu.org> 282 283 * simplify.c (gfc_simplify_cshift): Work around bootstrap issues 284 due to inappropriate warning options. 285 2862015-11-21 Steven G. Kargl <kargl@gcc.gnu.org> 287 288 * simplify.c (gfc_simplify_cshift): Implement simplification of 289 CSHIFT for rank=1 arrays. 290 (gfc_simplify_spread): Remove a FIXME and add error condition. 291 * intrinsic.h: Prototype for gfc_simplify_cshift 292 * intrinsic.c (add_functions): Use gfc_simplify_cshift. 293 2942015-11-20 Steven G. Kargl <kargl@gcc.gnu.org> 295 296 PR fortran/68237 297 * decl.c (gfc_match_submod_proc): Test the interface symbol 298 before accessing its attributes. 299 3002015-11-20 Paul Thomas <pault@gcc.gnu.org> 301 302 PR fortran/66762 303 (gfc_get_symbol_decl): Test for attr.used_in_submodule as well 304 as attr.use_assoc (twice). 305 (gfc_create_module_variable): Ditto. 306 3072015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> 308 309 PR fortran/59910 310 * primary.c (gfc_match_structure_constructor): Reduce a structure 311 constructor in a DATA statement. 312 3132015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> 314 315 PR fortran/43996 316 * simplify.c (gfc_simplify_spread): Issue error for too large array 317 constructor in a PARAMETER statement. 318 3192015-11-17 Steven G. Kargl <kargl@gcc.gnu.org> 320 321 * primary.c (gfc_match_structure_constructor): Fix whitespace. 322 3232015-11-17 Dominique d'Humieres <dominiq@lps.ens.fr> 324 325 PR fortran/65751 326 * expr.c (gfc_check_pointer_assign): Fix error message. 327 3282015-11-16 Steven G. Kargl <kargl@gcc.gnu.org> 329 330 PR fortran/58027 331 PR fortran/60993 332 * expr.c (gfc_check_init_expr): Prevent a redundant check when a 333 __convert_* function was inserted into an array constructor. 334 (gfc_check_assign_symbol): Check for an initialization expression 335 when a __convert_* was inserted. 336 3372015-11-15 Paul Thomas <pault@gcc.gnu.org> 338 339 PR fortran/50221 340 PR fortran/68216 341 PR fortran/63932 342 PR fortran/66408 343 * trans_array.c (gfc_conv_scalarized_array_ref): Pass the 344 symbol decl for deferred character length array references. 345 * trans-stmt.c (gfc_trans_allocate): Keep the string lengths 346 to update deferred length character string lengths. 347 * trans-types.c (gfc_get_dtype_rank_type); Use the string 348 length of deferred character types for the dtype size. 349 * trans.c (gfc_build_array_ref): For references to deferred 350 character arrays, use the domain max value, if it is a variable 351 to set the 'span' and use pointer arithmetic for acces to the 352 element. 353 (trans_code): Set gfc_current_locus for diagnostic purposes. 354 355 PR fortran/67674 356 * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred 357 string lengths of components. 358 359 PR fortran/49954 360 * resolve.c (deferred_op_assign): New function. 361 (gfc_resolve_code): Call it. 362 * trans-array.c (concat_str_length): New function. 363 (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/ 364 realloc blocks for deferred character length arrays because the 365 string length might change, even if the shape is the same. Call 366 concat_str_length to obtain the string length for concatenation 367 since it is needed to compute the lhs string length. 368 Set the descriptor dtype appropriately for the new string 369 length. 370 * trans-expr.c (gfc_trans_assignment_1): Use the rse string 371 length for all characters, other than deferred types. For 372 concatenation operators, push the rse.pre block to the inner 373 most loop so that the temporary pointer and the assignments 374 are properly placed. 375 3762015-11-14 Steven G. Kargl <kargl@gcc.gnu.org> 377 378 PR fortran/67803 379 * array.c (gfc_match_array_constructor): If array constructor included 380 a CHARACTER typespec, check array elements for compatible type. 381 3822015-11-13 Steven G. Kargl <kargl@gccc.gnu.org> 383 384 PR fortran/68319 385 * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206. 386 * io.c (gfc_match_format): Ditto. 387 * match.c (gfc_match_st_function): Ditto. 388 3892015-11-13 David Malcolm <dmalcolm@redhat.com> 390 391 * error.c (gfc_warning): Pass line_table to rich_location ctor. 392 (gfc_warning_now_at): Likewise. 393 (gfc_warning_now): Likewise. 394 (gfc_error_now): Likewise. 395 (gfc_fatal_error): Likewise. 396 (gfc_error): Likewise. 397 (gfc_internal_error): Likewise. 398 3992015-11-12 Steven G. Kargl <kargl@gcc.gnu.org> 400 401 PR fortran/68318 402 * decl.c (get_proc_name): Increment reference count for ENTRY. 403 While here, fix comment and use postfix ++ for consistency. 404 4052015-11-11 Andrew MacLeod <amacleod@redhat.com> 406 407 * array.c: Remove unused header files. 408 * convert.c: Likewise. 409 * cpp.c: Likewise. 410 * decl.c: Likewise. 411 * f95-lang.c: Likewise. 412 * frontend-passes.c: Likewise. 413 * iresolve.c: Likewise. 414 * match.c: Likewise. 415 * module.c: Likewise. 416 * options.c: Likewise. 417 * parse.c: Likewise. 418 * target-memory.c: Likewise. 419 * trans-array.c: Likewise. 420 * trans-common.c: Likewise. 421 * trans-const.c: Likewise. 422 * trans-decl.c: Likewise. 423 * trans-expr.c: Likewise. 424 * trans-intrinsic.c: Likewise. 425 * trans-io.c: Likewise. 426 * trans-openmp.c: Likewise. 427 * trans-stmt.c: Likewise. 428 * trans-types.c: Likewise. 429 * trans.c: Likewise. 430 4312015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> 432 433 PR fortran/67826 434 * openmp.c (gfc_omp_udr_find): Fix typo. 435 4362015-11-08 Steven g. Kargl <kargl@gcc.gnu.org> 437 438 PR fortran/68053 439 * decl.c (add_init_expr_to_sym): Try to reduce initialization expression 440 before testing for a constant value. 441 4422015-11-08 Andre Vehreschild <vehre@gcc.gnu.org> 443 444 PR fortran/68218 445 * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when 446 array spec in allocate is a function call. 447 4482015-11-08 Steven G. Kargl <kargl@gc.gnu.org> 449 450 PR fortran/68224 451 * array.c (match_array_element_spec): Check of invalid NULL(). 452 While here, fix nearby comments. 453 4542015-11-08 Paul Thomas <pault@gcc.gnu.org> 455 456 PR fortran/68196 457 * class.c (has_finalizer_component): Prevent infinite recursion 458 through this function if the derived type and that of its 459 component are the same. 460 * trans-types.c (gfc_get_derived_type): Do the same for proc 461 pointers by ignoring the explicit interface for the component. 462 463 PR fortran/66465 464 * check.c (same_type_check): If either of the expressions is 465 BT_PROCEDURE, use the typespec from the symbol, rather than the 466 expression. 467 4682015-11-07 Steven G. Kargl <kargl@gcc.gnu.org> 469 470 PR fortran/68153 471 * check.c (gfc_check_reshape): Improve check for valid SHAPE argument. 472 4732015-11-07 Steven G. Kargl <kargl@gcc.gnu.org> 474 475 PR fortran/68151 476 * match.c (match_case_selector): Check for invalid type. 477 4782015-11-06 David Malcolm <dmalcolm@redhat.com> 479 480 * cpp.c (cb_cpp_error): Convert parameter from location_t to 481 rich_location *. Eliminate the "column_override" parameter. 482 * error.c (gfc_warning): Update for change in signature of 483 diagnostic_set_info. 484 (gfc_format_decoder): Update handling of %C/%L for changes 485 to struct text_info. 486 (gfc_diagnostic_starter): Use richloc when determining whether to 487 print one locus or two. When handling a location that will 488 involve a call to diagnostic_show_locus, only attempt to print the 489 locus for the primary location, and don't call into 490 diagnostic_print_caret_line. 491 (gfc_warning_now_at): Update for change in signature of 492 diagnostic_set_info. 493 (gfc_warning_now): Likewise. 494 (gfc_error_now): Likewise. 495 (gfc_fatal_error): Likewise. 496 (gfc_error): Likewise. 497 (gfc_internal_error): Likewise. 498 4992015-11-05 Cesar Philippidis <cesar@codesourcery.com> 500 501 * openmp.c (gfc_match_omp_clauses): Update support for the tile 502 and default clauses in OpenACC. 503 (gfc_match_oacc_update): Error when data clauses are supplied. 504 (oacc_compatible_clauses): Delete. 505 (resolve_omp_clauses): Give special care for OpenACC reductions. 506 Also update error reporting for the tile clause. 507 (resolve_oacc_loop_blocks): Update error reporting for the tile clause. 508 * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add 509 OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument. 510 (gfc_trans_oacc_combined_directive): Update the list of clauses which 511 are split to acc loops. 512 5132015-11-05 Jakub Jelinek <jakub@redhat.com> 514 515 * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove. 516 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New. 517 5182015-11-03 Thomas Schwinge <thomas@codesourcery.com> 519 Chung-Lin Tang <cltang@codesourcery.com> 520 521 * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC, 522 ST_OACC_END_ATOMIC. 523 (gfc_exec_op): Add EXEC_OACC_ATOMIC. 524 * match.h (gfc_match_oacc_atomic): New prototype. 525 * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New 526 wrapper functions around... 527 (gfc_match_omp_oacc_atomic): ... this new function. 528 (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle 529 EXEC_OACC_ATOMIC. 530 * parse.c (decode_oacc_directive): Handle "atomic", "end atomic". 531 (case_exec_markers): Add ST_OACC_ATOMIC. 532 (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC. 533 (parse_omp_atomic): Rename to... 534 (parse_omp_oacc_atomic): ... this new function. Add omp_p formal 535 parameter. Adjust all users. 536 (parse_executable): Handle ST_OACC_ATOMIC. 537 (is_oacc): Handle EXEC_OACC_ATOMIC. 538 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle 539 EXEC_OACC_ATOMIC. 540 * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC. 541 * trans-openmp.c (gfc_trans_oacc_directive): Handle 542 EXEC_OACC_ATOMIC. 543 * trans.c (trans_code): Handle EXEC_OACC_ATOMIC. 544 5452015-10-31 Cesar Philippidis <cesar@codesourcery.com> 546 547 PR Bootstrap/68168 548 549 * openmp.c (resolve_omp_clauses): Pass &n->where when calling 550 gfc_error. 551 5522015-10-30 Cesar Philippidis <cesar@codesourcery.com> 553 554 * gfortran.h (gfc_omp_namespace): Add locus where member. 555 * openmp.c (gfc_match_omp_variable_list): Set where for each list 556 item found. 557 (resolve_omp_clauses): Remove where argument and use the where 558 gfc_omp_namespace member when reporting errors. 559 (resolve_omp_do): Update call to resolve_omp_clauses. 560 (resolve_oacc_loop): Likewise. 561 (gfc_resolve_oacc_directive): Likewise. 562 (gfc_resolve_omp_directive): Likewise. 563 (gfc_resolve_omp_declare_simd): Likewise. 564 5652015-10-15 Steven G. Kargl <kargl@gcc.gnu.org> 566 567 PR fortran/51993 568 * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an 569 if-statement causing an early return leads to valid error message. 570 5712015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> 572 573 PR fortran/36192 574 * interface.c (get_expr_storage_size): Check for INTEGER type before 575 calling gmp routines. 576 5772015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> 578 579 PR fortran/68154 580 * decl.c (add_init_expr_to_sym): if the char length in the typespec 581 is NULL, check for and use a constructor. 582 5832015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> 584 585 PR fortran/68054 586 * decl.c (match_attr_spec): PROTECTED can only be a module. 587 5882015-10-29 Steven G. Kargl <kargl@gcc.gnu.org> 589 590 PR fortran/67885 591 * trans-decl.c (generate_local_decl): Mark PARAMETER entities in 592 BLOCK construct. 593 5942015-10-29 Andrew MacLeod <amacleod@redhat.com> 595 596 * array.c: Reorder #include's and remove duplicates. 597 * convert.c: Likewise. 598 * cpp.c: Likewise. 599 * decl.c: Likewise. 600 * f95-lang.c: Likewise. 601 * frontend-passes.c: Likewise. 602 * iresolve.c: Likewise. 603 * match.c: Likewise. 604 * module.c: Likewise. 605 * options.c: Likewise. 606 * parse.c: Likewise. 607 * resolve.c: Likewise. 608 * simplify.c: Likewise. 609 * target-memory.c: Likewise. 610 * trans-array.c: Likewise. 611 * trans-common.c: Likewise. 612 * trans-const.c: Likewise. 613 * trans-decl.c: Likewise. 614 * trans-expr.c: Likewise. 615 * trans-intrinsic.c: Likewise. 616 * trans-io.c: Likewise. 617 * trans-openmp.c: Likewise. 618 * trans-stmt.c: Likewise. 619 * trans-types.c: Likewise. 620 * trans.c: Likewise. 621 6222015-10-29 Richard Biener <rguenther@suse.de> 623 624 * f95-lang.c: Properly build variadic types for classification 625 and comparison builtins. 626 6272015-10-27 Thomas Schwinge <thomas@codesourcery.com> 628 James Norris <jnorris@codesourcery.com> 629 630 PR fortran/63865 631 * openmp.c (resolve_oacc_cache): Remove function. 632 (gfc_match_oacc_cache): Enable array sections. 633 (resolve_omp_clauses, gfc_resolve_oacc_directive): Change 634 accordingly. 635 * trans-openmp.c (gfc_trans_omp_clauses): Likewise. 636 6372015-10-27 Steven G. Kargl <kargl@gcc.gnu.org> 638 639 PR fortran/68108 640 * decl.c (char_len_param_value): Check for REF_ARRAY. 641 6422015-10-26 Louis Krupp <louis.krupp@zoho.com> 643 644 PR fortran/66056 645 * fortran.h: Include namespace pointer in statement label 646 structure. 647 * symbol.c (gfc_get_st_label): Store pointer to namespace 648 that owns the statement label tree in each label. 649 (gfc_free_st_label): Use namespace owning statement label 650 tree when deleting statement label. 651 * io.c: Initialize format_asterisk with NULL namespace pointer. 652 6532015-10-26 Steven G. Kargl <kargl@gcc.gnu.org> 654 655 PR fortran/36192 656 * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling 657 mpz_set. 658 6592015-10-26 Andre Vehreschild <vehre@gcc.gnu.org> 660 661 PR fortran/66927 662 * trans-array.c (evaluate_bound): For deferred length arrays get the 663 bounds directly from the descriptor, i.e., prevent using constant 664 zero lower bound from the gfc_conv_array_lbound () routine. 665 (gfc_conv_section_startstride): Hand deferred array status to 666 evaluate_bound (). 667 (gfc_conv_expr_descriptor): Same. 668 6692015-01-25 Paul Thomas <pault@gcc.gnu.org> 670 671 PR fortran/67171 672 * trans-array.c (structure_alloc_comps): On deallocation of 673 class components, reset the vptr to the declared type vtable 674 and reset the _len field of unlimited polymorphic components. 675 *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on 676 allocatable component references to the right of part reference 677 with non-zero rank and return NULL. 678 (gfc_reset_vptr): Simplify this function by using the function 679 gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE. 680 (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns 681 NULL return. 682 * trans-stmt.c (gfc_trans_allocate): Rely on the use of 683 gfc_trans_assignment if expr3 is a variable expression since 684 this deals correctly with array sections. 685 6862015-10-25 Andre Vehreschild <vehre@gcc.gnu.org> 687 688 PR fortran/66927 689 PR fortran/67044 690 * trans-array.c (build_array_ref): Modified call to 691 gfc_get_class_array_ref to adhere to new interface. 692 (gfc_conv_expr_descriptor): For one-based arrays that 693 are filled by a loop starting at one the start index of the 694 source array has to be mangled into the offset. 695 * trans-expr.c (gfc_get_class_array_ref): When the tree to get 696 the _data component is present already, add a way to supply it. 697 (gfc_copy_class_to_class): Allow to copy to a derived type also. 698 * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor 699 for functions returning a class or derived object. Get the 700 reference instead. 701 * trans.h: Interface change of gfc_get_class_array_ref. 702 7032015-10-24 Steven G. Kargl <kargl@gcc.gnu.org> 704 705 PR fortran/68055 706 * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style 707 declarations. 708 7092015-10-24 Steven G. Kargl <kargl@gcc.gnu.org> 710 711 PR fortran/67805 712 * array.c (gfc_match_array_constructor): Check for error from type 713 spec matching. 714 * decl.c (char_len_param_value): Check for valid of charlen parameter. 715 Reap dead code dating to 2008. 716 match.c (gfc_match_type_spec): Special case the keyword use in REAL. 717 7182015-10-23 Mikhail Maltsev <maltsevm@gmail.com> 719 720 * trans-common.c (create_common): Adjust to use flag_checking. 721 * trans.c (gfc_add_modify_loc): Use gcc_checking_assert. 722 7232015-10-21 Martin Sebor <msebor@redhat.com> 724 725 PR driver/68043 726 * lang.opt: End each sentence that describes an option with a period. 727 7282015-10-21 Steven G. Kargl <kargl@gcc.gnu.org> 729 730 PR fortran/67939 731 * data.c (create_character_initializer): Deal with zero length string. 732 7332015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> 734 735 * resolve.c (gfc_verify_binding_labels): Check for NULL pointer. 736 7372015-10-19 Steven G. Kargl <kargl@gcc.gnu.org> 738 739 PR fortran/68019 740 * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error 741 message to be issued. 742 7432015-10-18 Mikael Morin <mikael@gcc.gnu.org> 744 745 PR fortran/67758 746 * gfortran.h (gfc_symbol): Expand comment. 747 * match.c (gfc_match_common): Delay adding the symbol to 748 the common_block after the gfc_add_in_common call. 749 * symbol.c (gfc_free_symbol): Move common block memory handling... 750 (gfc_set_symbol_common_block): ... here as a new function. 751 (restore_old_symbol): Restore common block fields. 752 (gfc_restore_last_undo_checkpoint): 753 Check the common_block pointer instead of the in_common attribute. 754 When a symbol has been removed from the common block linked list, 755 clear its common_next pointer. 756 7572015-10-18 Paul Thomas <pault@gcc.gnu.org> 758 759 PR fortran/67177 760 PR fortran/67977 761 * primary.c (match_substring): Add an argument 'deferred' to 762 flag that a substring reference with null start and end should 763 not be optimized away for deferred length strings. 764 (match_string_constant, gfc_match_rvalue): Set the argument. 765 * trans-expr.c (alloc_scalar_allocatable_for_assignment): If 766 there is a substring reference return. 767 * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred 768 characters, assign the 'from' string length to the 'to' string 769 length. If the 'from' expression is deferred, set its string 770 length to zero. If the 'to' expression has allocatable 771 components, deallocate them. 772 7732015-10-17 Steven G. Kargl <kargl@gcc.gnu.org> 774 775 PR fortran/67987 776 * decl.c (char_len_param_value): Unwrap unlong line. If LEN < 0, 777 force it to zero per the Fortran 90, 95, 2003, and 2008 Standards. 778 * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line. 779 If 'start' is larger than 'end', length of substring is negative, 780 so explicitly set it to zero. 781 (resolve_charlen): Remove -Wsurprising warning. Update comment to 782 reflect that the text is from the F2008 standard. 783 7842015-10-16 Richard Biener <rguenther@suse.de> 785 786 * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust 787 calls to build_addr. 788 (gfc_conv_intrinsic_mod): Likewise. 789 (gfc_conv_intrinsic_ctime): Likewise. 790 (gfc_conv_intrinsic_fdate): Likewise. 791 (gfc_conv_intrinsic_ttynam): Likewise. 792 (gfc_conv_intrinsic_minmax_char): Likewise. 793 (gfc_conv_intrinsic_index_scan_verify): Likewise. 794 (gfc_conv_intrinsic_trim): Likewise. 795 7962015-10-14 Maxim Ostapenko <m.ostapenko@partner.samsung.com> 797 798 * parse.c (decode_statement): Initialize M to MATCH_NO. 799 8002015-10-13 Jakub Jelinek <jakub@redhat.com> 801 Ilya Verbin <ilya.verbin@intel.com> 802 803 * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10, 804 DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define. 805 * trans-openmp.c (gfc_trans_omp_clauses): Set 806 OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR 807 to NULL. 808 (gfc_trans_omp_critical): Adjust for addition of clauses. 809 (gfc_trans_omp_ordered): Likewise. 810 * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, 811 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, 812 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 813 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 814 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, 815 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR, 816 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, 817 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, 818 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, 819 BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New. 820 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR, 821 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR, 822 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove. 823 8242015-10-07 Andre Vehreschild <vehre@gcc.gnu.org> 825 826 PR fortran/65889 827 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and 828 on stack class objects as sizeof parameter. 829 8302015-10-06 Louis Krupp <louis.krupp@zoho.com> 831 PR fortran/65766 832 * resolve.c (gfc_resolve_substring_charlen): For derived type, 833 use typespec of string component when resolving substring length. 834 8352015-10-04 Mikael Morin <mikael@gcc.gnu.org> 836 837 * match.c (gfc_match_common): Remove dead variable old_blank_common. 838 8392015-10-04 Mikael Morin <mikael@gcc.gnu.org> 840 841 PR fortran/67758 842 * match.c (gfc_match_common): Delay the common_block pointer 843 assignment after error checking. 844 Delay the call to gfc_add_in_common attribute after the handling 845 of array specs. 846 * resolve.c (resolve_common_vars): Call gfc_add_in_common again. 847 8482015-10-04 Mikael Morin <mikael@gcc.gnu.org> 849 850 * resolve.c (resolve_common_vars): Move access to the common 851 block's head symbol inside the function. 852 (resolve_common_blocks, resolve_types): Update callers. 853 8542015-10-01 Louis Krupp <louis.krupp@zoho.com> 855 856 PR fortran/62242 857 PR fortran/52332 858 * trans-array.c 859 (store_backend_decl): Create new gfc_charlen instance if requested 860 (get_array_ctor_all_strlen): Call store_backend_decl requesting 861 new gfc_charlen 862 (trans_array_constructor): Call store_backend_decl requesting 863 new gfc_charlen if get_array_ctor_strlen was called 864 (gfc_add_loop_ss_code): Don't try to convert non-constant length 865 8662015-10-01 Steven G. Kargl <kargl@gcc.gnu.org> 867 868 PR fortran.67802 869 * decl.c (add_init_expr_to_sym): Numeric constant for character 870 length must be an INTEGER. 871 8722015-10-01 Steven G. Kargl <kargl@gcc.gnu.org> 873 874 PR fortran/66979 875 * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby 876 missing 'return false'. 877 8782015-10-01 Steven G. Kargl <kargl@gcc.gnu.org> 879 880 PR fortran/67616 881 * primary.c (gfc_match_structure_constructor): Use a possibly 882 host-associated symtree to prevent ICE. 883 8842015-09-28 Paul Thomas <pault@gcc.gnu.org> 885 886 PR fortran/40054 887 PR fortran/63921 888 * decl.c (get_proc_name): Return if statement function is 889 found. 890 * expr.c (gfc_check_vardef_context): Add error return for 891 derived type expression lacking the derived type itself. 892 * match.c (gfc_match_ptr_fcn_assign): New function. 893 * match.h : Add prototype for gfc_match_ptr_fcn_assign. 894 * parse.c : Add static flag 'in_specification_block'. 895 (decode_statement): If in specification block match a statement 896 function, then, if no error arising from statement function 897 matching, try to match pointer function assignment. 898 (parse_interface): Set 'in_specification_block' on exiting from 899 parse_spec. 900 (parse_spec): Set and then reset 'in_specification_block'. 901 (gfc_parse_file): Set 'in_specification_block'. 902 * resolve.c (get_temp_from_expr): Extend to include functions 903 and array constructors as rvalues.. 904 (resolve_ptr_fcn_assign): New function. 905 (gfc_resolve_code): Call it on finding a pointer function as an 906 lvalue. If valid or on error, go back to start of resolve_code. 907 * symbol.c (gfc_add_procedure): Add a sentence to the error to 908 flag up the ambiguity between a statement function and pointer 909 function assignment at the end of the specification block. 910 9112015-09-28 Nathan Sidwell <nathan@codesourcery.com> 912 913 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New. 914 (DEF_FUNCTION_TYPE_VAR_11): Delete. 915 * types.def (DEF_FUNCTION_TYPE_VAR_6): New. 916 (DEF_FUNCTION_TYPE_VAR_11): Delete. 917 9182015-09-26 Mikael Morin <mikael@gcc.gnu.org> 919 920 PR fortran/67721 921 * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness 922 condition guarding deep copy. 923 9242013-09-26 Paul Thomas <pault@gcc.gnu.org> 925 926 PR fortran/67567 927 * resolve.c (resolve_fl_procedure): For module procedures, take 928 the parent module name and the submodule name from the name of 929 the namespace. 930 9312015-09-25 Steven G. Kargl <kargl@gcc.gnu.org> 932 933 PR fortran/67614 934 * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL. 935 9362015-09-25 Steven G. Kargl <kargl@gcc.gnu.org> 937 938 PR fortran/67525 939 * parse.c (match_deferred_characteristics): Remove an assert, which 940 allows an invalid SELECT TYPE selector to be detected. 941 9422015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org> 943 944 PR pretty-print/67567 945 * resolve.c (resolve_fl_procedure): Work-around when iface->module 946 == NULL. 947 9482015-09-21 Steven G. Kargl <kargl@gcc.gnu.org> 949 950 * resolve.c (nonscalar_typebound_assign): Fix typos in comment. 951 9522015-09-21 Steven G. Kargl <kargl@gcc.gnu.org> 953 954 PR fortran/67615 955 * resolve.c (gfc_resolve_code): Check for scalar expression in 956 arithmetic-if. 957 9582015-09-17 Paul Thomas <pault@gcc.gnu.org> 959 960 PR fortran/52846 961 PR fortran/67588 962 * module.c : Add static no_module_procedures. 963 (gfc_match_submodule): Correct memory leakage caused during the 964 freeing of use_lists. 965 (mio_symbol_attribute): Reset above if module procedure is 966 encountered. 967 (gfc_dump_module): Set above and exit without writing smod file 968 if it reset. 969 * gfortran.texi : Add section on submodule support. 970 9712015-09-10 Steven G. Kargl <kargl@gcc.gnu.org> 972 973 PR fortran/67526 974 * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer. 975 9762015-09-10 Paul Thomas <pault@gcc.gnu.org> 977 978 PR fortran/66993 979 * module.c (read_module): If a symtree exists and the symbol has 980 been associated in a submodule from a parent (sub)module, attach 981 the symbol to a 'unique symtree' and the new symbol to the 982 existing symtree. 983 9842015-09-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 985 986 * intrinsic.h (gfc_simplify_mvbits): Remove. 987 * simplify.c (gfc_simplify_mvbits): Remove. 988 * intrinsic.c (add_subroutines): Remove reference to 989 gfc_simplify_mvbits. 990 9912015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 992 993 PR fortran/67429 994 * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise 995 caret lines might be skipped when actually giving a diagnostic. 996 9972015-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 998 999 PR fortran/54833 1000 * trans.c (gfc_call_free): Don't check if pointer is NULL. 1001 * trans.h (gfc_call_free): Adjust comment. 1002 10032015-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1004 1005 * trans.c (gfc_call_malloc, gfc_allocate_using_malloc, 1006 gfc_allocate_using_lib, gfc_allocate_allocatable, 1007 gfc_call_realloc): Simplify code. 1008 * trans-array.c (gfc_trans_allocate_array_storage, 1009 gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not 1010 convert gfc_call_free() argument. 1011 * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call, 1012 fcncall_realloc_result): Likewise. 1013 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise. 1014 10152015-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1016 1017 PR fortran/53668 1018 * intrinsic.c (add_functions, add_subroutines): Remove resolution 1019 functions for FREE and MALLOC. 1020 * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove. 1021 * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove. 1022 * trans-intrinsic.c (conv_intrinsic_free, 1023 gfc_conv_intrinsic_malloc): New functions. 1024 10252015-08-24 Louis Krupp <louis.krupp@zoho.com> 1026 1027 PR fortran/62536 1028 PR fortran/66175 1029 * decl.c (gfc_match_end): Clean up nested BLOCKs. 1030 * parse.c (parse_block_construct): Deal gracefully with cleaned-up 1031 BLOCKs. 1032 10332015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1034 1035 PR libfortran/54572 1036 * config-lang.in: Add libbacktrace to target_libs. 1037 10382015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> 1039 1040 * dependency.c, dependency.h, gfortran.h, io.c, module.c, 1041 parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs. 1042 10432015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1044 1045 PR fortran/54656 1046 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl 1047 for quadruple precision BUILT_IN_SQRT. 1048 10492015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1050 1051 * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type 1052 generic BUILT_IN_SIGNBIT. 1053 (conv_intrinsic_ieee_copy_sign): Likewise. 1054 * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF, 1055 BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS, 1056 BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic 1057 variants of BUILT_IN_SIGNBIT. 1058 * mathbuiltins.def: Remove SIGNBIT. 1059 10602015-08-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1061 1062 PR fortran/41387 1063 * gfortran.texi: New section "File operations on symbolic links". 1064 10652015-08-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1066 1067 PR fortran/67059 1068 * gfortranspec.c (lang_specific_driver): Adjust --version output. 1069 10702015-08-08 Bud Davis <jmdavis@link.com> 1071 Mikael Morin <mikael@gcc.gnu.org> 1072 1073 PR fortran/59746 1074 * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block 1075 symbol if it was put in the list. 1076 10772015-08-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1078 1079 PR fortran/64104 1080 * expr.c (gfc_check_init_expr): Allow some IEEE functions in 1081 constant expressions. 1082 (external_spec_function): Allow some IEEE functions in specification 1083 expressions. 1084 * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove. 1085 (simplify_ieee_selected_real_kind, simplify_ieee_support, 1086 matches_ieee_function_name, gfc_simplify_ieee_functions): New 1087 functions. 1088 * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove 1089 prototype. 1090 (gfc_simplify_ieee_functions): Add prototype. 1091 10922015-08-06 Mikael Morin <mikael@gcc.gnu.org> 1093 1094 * trans.h (gfc_trans_scalar_assign): Remove fourth argument. 1095 * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth 1096 argument. 1097 (gfc_conv_subref_array_arg, gfc_trans_subarray_assign, 1098 gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers. 1099 * trans-array.c (gfc_conv_expr_descriptor): Ditto. 1100 * trans-stmt.c (forall_make_variable_temp, 1101 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, 1102 gfc_trans_where_assign, gfc_trans_where_3): Ditto. 1103 11042015-08-05 Paul Thomas <pault@gcc.gnu.org> 1105 1106 PR fortran/52846 1107 * module.c (check_access): Return true if new static flag 1108 'dump_smod' is true.. 1109 (gfc_dump_module): Rename original 'dump_module' and call from 1110 new version. Use 'dump_smod' rather than the stack state to 1111 determine if a submodule is being processed. The new version of 1112 this procedure sets 'dump_smod' depending on the stack state and 1113 then writes both the mod and smod files if a module is being 1114 processed or just the smod for a submodule. 1115 (gfc_use_module): Eliminate the check for module_name and 1116 submodule_name being the same. 1117 * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array, 1118 get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use 1119 the conditions to set DECL_VISIBILITY as hidden and to set as 1120 true DECL_VISIBILITY_SPECIFIED. 1121 11222015-08-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1123 1124 PR fortran/64022 1125 * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE 1126 support to all real kinds. 1127 11282015-08-03 Steven G. Kargl <kargl@gcc.gnu.org> 1129 1130 PR fortran/66942 1131 * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference 1132 11332015-08-03 Mikael Morin <mikael@gcc.gnu.org> 1134 1135 PR fortran/64921 1136 * class.c (generate_finalization_wrapper): Set finalization 1137 procedure symbol's always_explicit attribute. 1138 11392015-08-01 Paul Thomas <pault@gcc.gnu.org> 1140 1141 PR fortran/67091 1142 * trans-intrinsic.c (gfc_conv_associated): Add the pre and post 1143 blocks for the second argument to se. 1144 11452015-07-27 Thomas Schwinge <thomas@codesourcery.com> 1146 1147 * parse.c (parse_oacc_structured_block): Fix logic error. 1148 Reported by Mikael Morin <mikael.morin@sfr.fr>. 1149 11502015-07-24 Mikael Morin <mikael@gcc.gnu.org> 1151 1152 PR fortran/64986 1153 * trans-expr.c (gfc_trans_assignment_1): Put component deallocation 1154 code at the beginning of the block. 1155 11562015-07-22 Mikael Morin <mikael@gcc.gnu.org> 1157 1158 PR fortran/61831 1159 PR fortran/66929 1160 * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure 1161 symbol if available. 1162 11632015-07-17 Paul Thomas <pault@gcc.gnu.org> 1164 1165 PR fortran/52846 1166 * decl.c (gfc_match_end): Pick out declared submodule name from 1167 the composite identifier. 1168 * gfortran.h : Add 'submodule_name' to gfc_use_list structure. 1169 * module.c (gfc_match_submodule): Define submodule_name and add 1170 static 'submodule_name'. 1171 (gfc_match_submodule): Build up submodule filenames, using '@' 1172 as a delimiter. Store the output filename in 'submodule_name'. 1173 Similarly, the submodule identifier is built using '.' as an 1174 identifier. 1175 (gfc_dump_module): If current state is COMP_SUBMODULE, write 1176 to file 'submodule_name', using SUBMODULE_EXTENSION. 1177 (gfc_use_module): Similarly, use the 'submodule_name' field in 1178 the gfc_use_list structure and SUBMODULE_EXTENSION to read the 1179 implicitly used submodule files. 1180 11812015-07-17 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> 1182 1183 * trans-intrinsic.c (conv_co_collective): Remove redundant address 1184 operator in the generated code. 1185 11862015-07-17 Andre Vehreschild <vehre@gcc.gnu.org> 1187 1188 PR fortran/66035 1189 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment): 1190 Compute the size to allocate for class and derived type objects 1191 correclty. 1192 (gfc_trans_subcomponent_assign): Only allocate memory for a 1193 component when the object to assign is not an allocatable class 1194 object (the memory is already present for allocatable class objects). 1195 Furthermore use copy_class_to_class for assigning the rhs to the 1196 component (may happen for dummy class objects on the rhs). 1197 11982015-07-17 Mikael Morin <mikael@gcc.gnu.org> 1199 Dominique d'Humieres <dominiq@lps.ens.fr> 1200 1201 PR fortran/61831 1202 * trans-array.c (gfc_conv_array_parameter): Guard allocatable 1203 component deallocation code generation with descriptorless 1204 calling convention flag. 1205 * trans-expr.c (gfc_conv_expr_reference): Remove allocatable 1206 component deallocation code generation from revision 212329. 1207 (expr_may_alias_variables): New function. 1208 (gfc_conv_procedure_call): New boolean elemental_proc to factor 1209 check for procedure elemental-ness. Rename boolean f to nodesc_arg 1210 and declare it in the outer scope. Use expr_may_alias_variables, 1211 elemental_proc and nodesc_arg to decide whether generate allocatable 1212 component deallocation code. 1213 (gfc_trans_subarray_assign): Set deep copy flag. 1214 12152015-07-16 Steven G. Kargl <kargl@gcc.gnu.org> 1216 1217 PR fortran/66724 1218 PR fortran/66724 1219 * io.c (is_char_type): Call gfc_resolve_expr (). 1220 (match_open_element, match_dt_element, match_inquire_element): Fix 1221 ASYNCHRONOUS case. 1222 12232015-07-15 Andrew MacLeod <amacleod@redhat.com> 1224 1225 * trans-types.c: Remove multiline #include comment. 1226 12272015-07-14 Steven G. Kargl <kargl@gcc.gnu.org> 1228 1229 * simplify.c (gfc_simplify_floor): Set precision of temporary to 1230 that of arg. 1231 12322015-07-13 Andre Vehreschild <vehre@gcc.gnu.org> 1233 1234 PR fortran/64589 1235 * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic 1236 types in the top-level namespace. 1237 12382015-07-12 Aldy Hernandez <aldyh@redhat.com> 1239 1240 * trans-stmt.c: Fix double word typos. 1241 12422015-07-09 Andrew MacLeod <amacleod@redhat.com> 1243 1244 * arith.c: Adjust includes for flags.h changes. 1245 * array.c: Likewise. 1246 * check.c: Likewise. 1247 * decl.c: Likewise. 1248 * error.c: Likewise. 1249 * expr.c: Likewise. 1250 * frontend-passes.c: Likewise. 1251 * interface.c: Likewise. 1252 * intrinsic.c: Likewise. 1253 * io.c: Likewise. 1254 * match.c: Likewise. 1255 * openmp.c: Likewise. 1256 * parse.c: Likewise. 1257 * primary.c: Likewise. 1258 * resolve.c: Likewise. 1259 * scanner.c: Likewise. 1260 * simplify.c: Likewise. 1261 * symbol.c: Likewise. 1262 * target-memory.c: Likewise. 1263 12642015-07-07 Andrew MacLeod <amacleod@redhat.com> 1265 1266 * convert.c: Adjust includes. 1267 * cpp.c: Likewise. 1268 * decl.c: Likewise. 1269 * f95-lang.c: Likewise. 1270 * iresolve.c: Likewise. 1271 * match.c: Likewise. 1272 * module.c: Likewise. 1273 * options.c: Likewise. 1274 * target-memory.c: Likewise. 1275 * trans-array.c: Likewise. 1276 * trans-common.c: Likewise. 1277 * trans-const.c: Likewise. 1278 * trans-decl.c: Likewise. 1279 * trans-expr.c: Likewise. 1280 * trans-intrinsic.c: Likewise. 1281 * trans-io.c: Likewise. 1282 * trans-openmp.c: Likewise. 1283 * trans-stmt.c: Likewise. 1284 * trans-types.c: Likewise. 1285 * trans.c: Likewise. 1286 12872015-07-07 Andre Vehreschild <vehre@gmx.de> 1288 1289 PR fortran/66578 1290 * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor 1291 is one-based for non-full array refs. Correct the offset when a 1292 rank_remap occurs. 1293 12942015-07-06 Steven G. Kargl <kargl@gcc.gnu.org> 1295 1296 * io.c (check_char_variable): New function. 1297 (match_open_element, match_close_element, match_file_element, 1298 match_dt_element, match_inquire_element, match_wait_element): Use it. 1299 13002015-07-06 Andre Vehreschild <vehre@gmx.de> 1301 1302 PR fortran/58586 1303 * resolve.c (resolve_symbol): Non-private functions in modules 1304 with allocatable or pointer components are marked referenced 1305 now. Furthermore is the default init especially for those 1306 components now done in gfc_conf_procedure_call preventing 1307 duplicate code. 1308 * trans-decl.c (gfc_generate_function_code): Generate a fake 1309 result decl for functions returning an object with allocatable 1310 components and initialize them. 1311 * trans-expr.c (gfc_conv_procedure_call): For value typed trees 1312 use the tree without indirect ref. And for non-decl trees 1313 add a temporary variable to prevent evaluating the tree 1314 multiple times (prevent multiple function evaluations). 1315 * trans.h: Made gfc_trans_structure_assign () protoype 1316 available, which is now needed by trans-decl.c:gfc_generate_ 1317 function_code(), too. 1318 13192015-07-04 Steven G. Kargl <kargl@gcc.gnu.org> 1320 1321 PR fortran/66725 1322 * io.c (is_char_type): New function to test for BT_CHARACTER 1323 (gfc_match_open, gfc_match_close, match_dt_element): Use it. 1324 13252015-07-02 David Edelsohn <dje.gcc@gmail.com> 1326 1327 * trans-common.c: Include <map> after system.h. 1328 13292015-07-02 Paul Thomas <pault@gcc.gnu.org> 1330 1331 PR fortran/52846 1332 * decl.c (get_proc_name): Make a partially populated interface 1333 symbol to carry the characteristics of a module procedure and 1334 its result. 1335 (variable_decl): Declarations of dummies or results in the 1336 abreviated form of module procedure is an error. 1337 (gfc_match_import): IMPORT is not permitted in the interface 1338 declaration of module procedures. 1339 (match_attr_spec): Submodule variables have implicit save 1340 attribute for F2008 onwards. 1341 (gfc_match_prefix): Add 'module' as the a prefix and set the 1342 module_procedure attribute. 1343 (gfc_match_formal_arglist): For a module procedure keep the 1344 interface formal_arglist from the interface, match new the 1345 formal arguments and then compare the number and names of each. 1346 (gfc_match_procedure): Add case COMP_SUBMODULE. 1347 (gfc_match_function_decl, gfc_match_subroutine_decl): Set the 1348 module_procedure attribute. 1349 (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If 1350 attr abr_modproc_decl is set, switch the message accordingly 1351 for subroutines and functions. 1352 (gfc_match_submod_proc): New function to match the abbreviated 1353 style of submodule declaration. 1354 * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the 1355 attribute bits 'used_in_submodule' and 'module_procedure'. Add 1356 the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes 1357 for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and 1358 'gfc_check_result_characteristics'. 1359 * interface.c : Add the prefix 'gfc_' to the names of functions 1360 'check_dummy(result)_characteristics' and all their references. 1361 * match.h : Add prototype for 'gfc_match_submod_proc' and 1362 'gfc_match_submodule'. 1363 (check_sym_interfaces): A module procedure is not an error in 1364 a module procedure statment in a generic interface. 1365 * module.c (gfc_match_submodule): New function. Add handling 1366 for the 'module_procedure' attribute bit. 1367 (gfc_use_module): Make sure that a submodule cannot use itself. 1368 * parse.c (decode_statement): Set attr has_'import_set' for 1369 the interface declaration of module procedures. Handle a match 1370 occurring in 'gfc_match_submod_proc' and a match for 1371 'submodule'. 1372 (gfc_enclosing_unit): Include the state COMP_SUBMODULE. 1373 (gfc_ascii_statement): Add END SUBMODULE. 1374 (accept_statement): Add ST_SUBMODULE. 1375 (parse_spec): Disallow statement functions in a submodule 1376 specification part. 1377 (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE 1378 twice each. 1379 (get_modproc_result): Copy the result symbol of the interface. 1380 (parse_progunit): Call it. 1381 (set_syms_host_assoc): Make symbols from the ancestor module 1382 and submodules use associated, as required by the standard and 1383 set all private components public. Module procedures 'external' 1384 attribute bit is reset and the 'used_in_submodule' bit is set. 1385 (parse_module): If this is a submodule, use the ancestor module 1386 and submodules. Traverse the namespace, calling 1387 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE. 1388 * parse.h : Add COMP_SUBMODULE. 1389 * primary.c (match_variable): Add COMP_SUBMODULE. 1390 * resolve.c (compare_fsyms): New function to compare the dummy 1391 characteristics of a module procedure with its interface. 1392 (resolve_fl_procedure): Compare the procedure, result and dummy 1393 characteristics of a module_procedure with its interface, using 1394 'compare_fsyms' for the dummy arguments. 1395 * symbol.c (gfc_add_procedure): Suppress the check for existing 1396 procedures in the case of a module procedure. 1397 (gfc_add_explicit_interface): Skip checks that must fail for 1398 module procedures. 1399 (gfc_add_type): Allow a new type to be added to module 1400 procedures, their results or their dummy arguments. 1401 (gfc_copy_dummy_sym): New function to generate new dummy args 1402 and copy the characteristics from the interface. 1403 * trans-decl.c (gfc_sym_mangled_function_id): Module procedures 1404 must always have their names mangled as if they are symbols 1405 coming from a declaration in a module. 1406 (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert. 1407 (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit 1408 set are set DECL_EXTERNAL as if they were use associated. 1409 14102015-07-02 Steven G. Kargl <kargl@gcc.gnu.org> 1411 1412 PR fortran/56520 1413 * match.c (gfc_match_name): Special case unary minus and plus. 1414 14152015-07-02 Steven G. Kargl <kargl@gcc.gnu.org> 1416 1417 PR fortran/66545 1418 * primary.c (match_sym_complex_part): Do not dereference NULL pointer. 1419 14202015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org> 1421 1422 * arith.c (gfc_arith_divide): With -Winteger-division, 1423 warn about contant integer division if there is a non-zero 1424 remainder. 1425 * invoke.texi: Document -Winteger-division. 1426 * lang.opt: Add -Winteger-division. 1427 14282015-06-25 Andrew MacLeod <amacleod@redhat.com> 1429 1430 * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list. 1431 * trans-decl.c: Likewise. 1432 14332015-06-25 Richard Sandiford <richard.sandiford@arm.com> 1434 1435 * trans-decl.c (module_hasher): Likewise. 1436 * trans.h (module_decl_hasher): Likewise. 1437 14382015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org> 1439 1440 PR fortran/66528 1441 * error.c (gfc_warning_check): Restore the default output_buffer 1442 before calling diagnostic_action_after_output. 1443 (gfc_error_check): Likewise. 1444 (gfc_diagnostics_init): Add comment. 1445 14462015-06-23 Andre Vehreschild <vehre@gmx.de> 1447 1448 PR fortran/64674 1449 * parse.c (parse_associate): Figure the rank and as of a 1450 class array in an associate early. 1451 * primary.c (gfc_match_varspec): Prevent setting the 1452 dimension attribute on the sym for classes. 1453 * resolve.c (resolve_variable): Correct the component 1454 ref's type for associated variables. Add a full array ref 1455 when class array's are associated. 1456 (resolve_assoc_var): Correct the type of the symbol, 1457 when in the associate the expression's rank becomes scalar. 1458 * trans-expr.c (gfc_conv_variable): Indirect ref needed for 1459 allocatable associated objects. 1460 14612015-06-19 Mikael Morin <mikael@gcc.gnu.org> 1462 1463 PR fortran/66549 1464 * resolve.c (resolve_global_procedure): Don't save and restore 1465 OpenMP state around the call to gfc_resolve. 1466 (gfc_resolve): Save OpenMP state on entry and restore it on return. 1467 14682015-06-17 Andrew MacLeod <amacleod@redhat.com> 1469 1470 * convert.c: Do not include input.h, line-map.h or is-a.h. 1471 * cpp.c: Likewise. 1472 * decl.c: Likewise. 1473 * f95-lang.c: Likewise. 1474 * gfortran.h: Likewise. 1475 * iresolve.c: Likewise. 1476 * match.c: Likewise. 1477 * module.c: Likewise. 1478 * options.c: Likewise. 1479 * target-memory.c: Likewise. 1480 * trans-array.c: Likewise. 1481 * trans-common.c: Likewise. 1482 * trans-const.c: Likewise. 1483 * trans-decl.c: Likewise. 1484 * trans-expr.c: Likewise. 1485 * trans-intrinsic.c: Likewise. 1486 * trans-io.c: Likewise. 1487 * trans-openmp.c: Likewise. 1488 * trans-stmt.c: Likewise. 1489 * trans-types.c: Likewise. 1490 * trans.c: Likewise. 1491 14922015-06-15 Andre Vehreschild <vehre@gmx.de> 1493 1494 PR fortran/44672 1495 PR fortran/45440 1496 PR fortran/57307 1497 * gfortran.h: Extend gfc_code.ext.alloc to carry a 1498 flag indicating that the array specification has to be 1499 taken from expr3. 1500 * resolve.c (resolve_allocate_expr): Add F2008 notify 1501 and flag indicating source driven array spec. 1502 (resolve_allocate_deallocate): Check for source driven 1503 array spec, when array to allocate has no explicit 1504 array spec. 1505 * trans-array.c (gfc_array_init_size): Get lower and 1506 upper bound from a tree array descriptor, except when 1507 the source expression is an array-constructor which is 1508 fixed to be one-based. 1509 (retrieve_last_ref): Extracted from gfc_array_allocate(). 1510 (gfc_array_allocate): Enable allocate(array, source= 1511 array_expression) as specified by F2008:C633. 1512 (gfc_conv_expr_descriptor): Add class tree expression 1513 into the saved descriptor for class arrays. 1514 * trans-array.h: Add temporary array descriptor to 1515 gfc_array_allocate (). 1516 * trans-expr.c (gfc_conv_procedure_call): Special handling 1517 for _copy() routine translation, that comes without an 1518 interface. Third and fourth argument are now passed by value. 1519 * trans-stmt.c (gfc_trans_allocate): Get expr3 array 1520 descriptor for temporary arrays to allow allocate(array, 1521 source = array_expression) for array without array 1522 specification. 1523 15242015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1525 1526 * intrinsic.texi: Change \leq to < in descrition of imaginary 1527 part in argument to log. 1528 15292015-06-11 Paul Thomas <pault@gcc.gnu.org> 1530 1531 PR fortran/66079 1532 * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar 1533 function results must be freed and nullified after use. Create 1534 a temporary to hold the result to prevent duplicate calls. 1535 * trans-stmt.c (gfc_trans_allocate): Rename temporary variable 1536 as 'source'. Deallocate allocatable components of non-variable 1537 'source's. 1538 15392015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> 1540 1541 * f95-lang.c (gfc_create_decls): Register the main translation unit 1542 through the new debug hook. 1543 15442015-06-08 Andrew MacLeod <amacleod@redhat.com> 1545 1546 * convert.c : Adjust include files. 1547 * cpp.c : Likewise. 1548 * decl.c : Likewise. 1549 * f95-lang.c : Likewise. 1550 * gfortran.h : Likewise. 1551 * iresolve.c : Likewise. 1552 * match.c : Likewise. 1553 * module.c : Likewise. 1554 * openmp.c : Likewise. 1555 * options.c : Likewise. 1556 * target-memory.c : Likewise. 1557 * trans-array.c : Likewise. 1558 * trans-common.c : Likewise. 1559 * trans-const.c : Likewise. 1560 * trans-decl.c : Likewise. 1561 * trans-expr.c : Likewise. 1562 * trans-intrinsic.c : Likewise. 1563 * trans-io.c : Likewise. 1564 * trans-openmp.c : Likewise. 1565 * trans-stmt.c : Likewise. 1566 * trans-types.c : Likewise. 1567 * trans.c : Likewise. 1568 15692015-06-08 Steven G. Kargl <kargl@gcc.gnu.org> 1570 1571 PR fortran/66245 1572 * match.c (gfc_match_type_is, gfc_match_class_is): Check if the 1573 return type spec or derived type spec is validate. 1574 15752015-06-06 Thomas Koenig <tkoenig@netcologne.de> 1576 1577 PR fortran/47659 1578 * arith.c (eval_intrinsic_op): Set warn flag for 1579 gfc_type_convert_binary if -Wconversion or -Wconversion-extra 1580 are set. 1581 (wprecision_real_real): New function. 1582 (wprecision_int_real): New function. 1583 (gfc_int2int): If -fno-range-check and -Wconversion are specified 1584 and it is a narrowing conversion, warn. 1585 (gfc_int2real): If there is a change in value for the conversion, 1586 warn. 1587 (gfc_int2complex): Likewise. 1588 (gfc_real2int): If there is a fractional part to the real number, 1589 warn with -Wconversion, otherwise warn with -Wconversion-extra. 1590 (gfc_real2real): Emit warning if the constant was changed by 1591 conversion with either -Wconversion or -Wconversion-extra. With 1592 -Wconversion-extra, warn if no warning was issued earlier. 1593 (gfc_real2complex): Likewise. 1594 (gfc_complex2int): For -Wconversion or -Wconversion-extra, if 1595 there was an imaginary part, warn; otherwise, warn for change in 1596 value. Warn with -Wconversion-extra if no other warning was 1597 issued. 1598 (gfc_complex2real): For -Wconversion or -Wconversion-extra, if 1599 there was an imaginary part, warn; otherwise, warn for change in 1600 value. Warn with -Wconversion-extra if no other warning was 1601 issued. 1602 (gfc_complex2complex): For -Wconversion, warn if the value of 1603 either the real or the imaginary part was changed. Warn for 1604 -Wconversion-extra if no prior warning was issued. 1605 * expr.c (gfc_check_assign): Remove check for change in value. 1606 * primary.c (match_real_constant): For -Wconversion-extra, check 1607 against a number in which the last non-zero digit has been 1608 replaced with a zero. If the number compares equal, warn. 1609 * intrinsic.c (gfc_convert_type_warn): Do not warn about constant 1610 conversions. 1611 16122015-06-05 Steven G. Kargl <kargl@gcc.gnu.org> 1613 1614 PR fortran/66347 1615 * resolve.c (apply_default_init_local): Do not dereference a NULL 1616 pointer. 1617 16182015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org> 1619 1620 PR fortran/66385 1621 * frontend-passes.c (combine_array_constructor): Return early if 1622 inside a FORALL loop. 1623 16242015-06-05 Aldy Hernandez <aldyh@redhat.com> 1625 1626 * f95-lang.c (gfc_write_global_declarations): Remove. 1627 (LANG_HOOKS_WRITE_GLOBALS): Remove. 1628 (gfc_write_global_declarations): Move code from here to... 1629 (gfc_be_parse_file): ...here. 1630 Call global_decl_processing. 1631 * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl 1632 to early_global_decl. 1633 16342015-06-05 Russell Whitesides <russelldub@gmail.com> 1635 Steven G. Kargl <kargl@gcc.gnu.org> 1636 1637 PR fortran/40958 1638 PR fortran/60780 1639 PR fortran/66377 1640 * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs 1641 from different modules. Eliminate the pruning of unused 1642 equivalence-objects 1643 16442015-06-04 Thomas Koenig <tkoenig@netcologne.de> 1645 1646 PR fortran/58749 1647 * iresolve.c (gfc_resolve_adjustl): If string has a charlen, 1648 copy it to the function. 1649 (gfc_resolve_adjustr): Likewise. 1650 16512015-06-04 Andrew MacLeod <amacleod@redhat.com> 1652 1653 * convert.c: Adjust includes for restructured coretypes.h. 1654 * cpp.c: Likewise. 1655 * decl.c: Likewise. 1656 * f95-lang.c: Likewise. 1657 * iresolve.c: Likewise. 1658 * match.c: Likewise. 1659 * module.c: Likewise. 1660 * options.c: Likewise. 1661 * target-memory.c: Likewise. 1662 * trans-array.c: Likewise. 1663 * trans-common.c: Likewise. 1664 * trans-const.c: Likewise. 1665 * trans-decl.c: Likewise. 1666 * trans-expr.c: Likewise. 1667 * trans-intrinsic.c: Likewise. 1668 * trans-io.c: Likewise. 1669 * trans-openmp.c: Likewise. 1670 * trans-stmt.c: Likewise. 1671 * trans-types.c: Likewise. 1672 * trans.c: Likewise. 1673 16742015-06-02 Steven G. Kargl <kargl@gcc.gnu.org> 1675 1676 PR fortran/66380 1677 * simplify.c (gfc_simplify_reshape): Convert assert into returning 1678 NULL, which triggers an error condition. 1679 16802015-05-27 Andre Vehreschild <vehre@gmx.de> 1681 1682 PR fortran/65548 1683 * trans-stmt.c (gfc_trans_allocate): Add missing location 1684 information for e3rhs. 1685 16862015-05-26 Paul Thomas <pault@gcc.gnu.org> 1687 1688 PR fortran/66082 1689 * trans-array.c (gfc_conv_array_parameter): Ensure that all 1690 non-variable arrays with allocatable components have the 1691 components deallocated after the procedure call. 1692 16932015-05-24 Mikael Morin <mikael@gcc.gnu.org> 1694 1695 PR fortran/66257 1696 * resolve.c (resolve_actual_arglist): Don't throw an error 1697 if the argument with procedure pointer component is not a variable. 1698 16992015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org> 1700 1701 PR fortran/44054 1702 * gfortran.h (struct gfc_error_buf): Rename as 1703 gfc_error_buffer. Move closer to push, pop and free 1704 methods. Reimplement using an output_buffer. 1705 * error.c (errors, warnings, warning_buffer, cur_error_buffer): 1706 Delete everywhere in this file. 1707 (error_char): Delete all contents. 1708 (gfc_increment_error_count): Delete. 1709 (gfc_error_now): Update comment. Set error_buffer.flag. 1710 (gfc_warning_check): Do not handle warning_buffer. 1711 (gfc_error_1): Delete. 1712 (gfc_error_now_1): Delete. 1713 (gfc_error_check): Simplify. 1714 (gfc_move_error_buffer_from_to): Renamed from 1715 gfc_move_output_buffer_from_to. 1716 (gfc_push_error): Handle only gfc_error_buffer. 1717 (gfc_pop_error): Likewise. 1718 (gfc_free_error): Likewise. 1719 (gfc_get_errors): Remove warnings and errors. 1720 (gfc_diagnostics_init): Use static error_buffer. 1721 (gfc_error_1,gfc_error_now_1): Delete declarations. 1722 * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c, 1723 frontend-passes.c, resolve.c, match.c, parse.c: Replace 1724 gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1 1725 everywhere. 1726 * f95-lang.c (gfc_be_parse_file): Do not update errorcount and 1727 warningcount here. 1728 * primary.c (match_complex_constant): Replace gfc_error_buf and 1729 output_buffer with gfc_error_buffer. 1730 17312015-05-22 Jim Wilson <jim.wilson@linaro.org> 1732 1733 * Make-lang.in (check_gfortran_parallelize): Update comment. 1734 17352015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org> 1736 1737 PR fortran/66176 1738 * frontend-passes.c (check_conjg_variable): New function. 1739 (inline_matmul_assign): Use it to keep track of conjugated 1740 variables. 1741 17422015-05-20 Andre Vehreschild <vehre@gmx.de> 1743 1744 PR fortran/65548 1745 * trans-stmt.c (gfc_trans_allocate): Always retrieve the 1746 descriptor or a reference to a source= expression for 1747 arrays and non-arrays, respectively. Use a temporary 1748 symbol and gfc_trans_assignment for all source= 1749 assignments to allocated objects besides for class and 1750 derived types. 1751 17522015-05-19 Jakub Jelinek <jakub@redhat.com> 1753 1754 PR middle-end/66199 1755 * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for 1756 combined constructs. 1757 (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL 1758 BIND_EXPR_BLOCK. 1759 17602015-05-19 David Malcolm <dmalcolm@redhat.com> 1761 1762 * cpp.c (maybe_print_line): Strengthen local "map" from 1763 const line_map * to const line_map_ordinary *. 1764 (cb_file_change): Likewise for param "map" and local "from". 1765 (cb_line_change): Likewise for local "map". 1766 17672015-05-19 Mikhail Maltsev <maltsevm@gmail.com> 1768 1769 * interface.c (compare_actual_formal): Use std::swap instead of 1770 explicit swaps. 1771 * trans-array.c (gfc_trans_scalarized_loop_end): Likewise. 1772 * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise. 1773 17742015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1775 1776 PR fortran/66106 1777 * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201). 1778 * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE. 1779 17802015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1781 1782 PR fortran/66057 1783 * decl.c(gfc_match_generic): Detected a malformed GENERIC statement. 1784 17852015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1786 1787 PR fortran/66043 1788 * gfortran.dg/storage_size_6.f90: New tests. 1789 17902015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1791 1792 PR fortran/66043 1793 * gfortran.dg/storage_size_6.f90: New tests. 1794 17952015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1796 1797 PR fortran/66044 1798 * decl.c(gfc_match_entry): Change a gfc_internal_error() into 1799 a gfc_error() 1800 18012015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1802 1803 PR fortran/66043 1804 * gfortran.dg/storage_size_6.f90: New tests. 1805 18062015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1807 1808 PR fortran/66040 1809 * parse.c(verify_st_order): Replace a gfc_internal_error with your 1810 generic gfc_error. 1811 18122015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1813 1814 PR fortran/66039 1815 * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH, 1816 BACKSPACE, and ENDFILE statements 1817 18182015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> 1819 1820 PR fortran/64925 1821 * symbol.c(check_conflict): Check for a conflict between a dummy 1822 argument and an internal procedure name. 1823 18242015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1825 1826 PR fortran/65903 1827 * io.c (format_lex): Change to NONSTRING when checking for 1828 possible doubled quote. 1829 * scanner.c (gfc_next_char_literal): Revert change from 64506 1830 and add a check for quotes and return. 1831 18322015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org> 1833 1834 PR fortran/66113 1835 * expr.c (is_parent_of_current_ns): New function. 1836 (check_restricted): Use it. 1837 18382015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> 1839 1840 PR fortran/44054 1841 1842 Replace all calls to gfc_notify_std_1 with gfc_notify_std and 1843 gfc_warning_1 with gfc_warning. 1844 * decl.c (gfc_verify_c_interop_param): Here. 1845 * resolve.c (resolve_branch): Here. 1846 (resolve_fl_derived): Here. 1847 * dependency.c (gfc_check_argument_var_dependency): 1848 * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line 1849 counter and locations before and after warning. 1850 * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1): 1851 Delete. 1852 (gfc_warning_now_at): Declare. 1853 * error.c (gfc_warning_1): Delete. 1854 (gfc_notify_std_1): Delete. 1855 (gfc_warning_now_1): Delete. 1856 (gfc_format_decoder): Handle two locations. 1857 (gfc_diagnostic_build_prefix): Rename as 1858 gfc_diagnostic_build_kind_prefix. 1859 (gfc_diagnostic_build_locus_prefix): Take an expanded_location 1860 instead of diagnostic_info. 1861 (gfc_diagnostic_build_locus_prefix): Add overload that takes two 1862 expanded_location. 1863 (gfc_diagnostic_starter): Handle two locations. 1864 (gfc_warning_now_at): New. 1865 (gfc_diagnostics_init): Initialize caret_chars array. 1866 (gfc_diagnostics_finish): Reset caret_chars array to default. 1867 18682015-05-16 Mikael Morin <mikael@gcc.gnu.org> 1869 Paul Thomas <pault@gcc.gnu.org> 1870 1871 PR fortran/65792 1872 * trans-expr.c (gfc_trans_subcomponent_assign): Always assign 1873 the expression component to the destination. In addition, if 1874 the component has allocatable components, copy them and 1875 deallocate those of the expression, if it is not a variable. 1876 The expression is fixed if not a variable to prevent multiple 1877 evaluations. 1878 18792015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> 1880 1881 PR fortran/66111 1882 * frontend-passes.c (has_dimen_vector_ref): New function. 1883 (inline_matmul_assign): Use it to return early in case 1884 of unhandled vector subscripts. 1885 18862015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org> 1887 1888 PR fortran/66041 1889 PR fortran/37131 1890 * gfortran.h (gfc_array_spec): Add field resolved. 1891 * array.c (gfc_resolve_array_spec): Resolve array spec 1892 only once. 1893 18942015-05-11 Mikael Morin <mikael@gcc.gnu.org> 1895 1896 PR fortran/66100 1897 * simplify.c (simplify_bound): Fix assert to accept subobject arrays. 1898 18992015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org> 1900 1901 PR fortran/66041 1902 * frontend-passes.c (scalarized_expr): Set correct dimension and 1903 shape for the expression to be passed to lbound. Remove trailing 1904 references after array refrence. 1905 (inline_matmul_assign): Remove gfc_copy_expr from calls 1906 to scalarized_expr(). 1907 19082015-05-10 Mikael Morin <mikael@gcc.gnu.org> 1909 1910 * simplify.c (simplify_bound_dim): Don't check for emptyness 1911 in the case of cobound simplification. Factor lower/upper 1912 bound differenciation before the actual simplification. 1913 (simplify_bound): Remove assumed shape specific simplification. 1914 Don't give up early for the lbound of an assumed shape. 1915 19162015-05-09 Mikael Morin <mikael@gcc.gnu.org> 1917 1918 PR fortran/65894 1919 * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference): 1920 New prototype. 1921 * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference): 1922 New function. 1923 (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference 1924 as conditional. 1925 (gfc_walk_elemental_function_args): Set the dummy_arg field. 1926 * trans.h (gfc_ss_info): New subfield dummy_arg. 1927 * trans-expr.c (gfc_conv_procedure_call): Revert the change 1928 of revision 222361. 1929 (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference 1930 as conditional. 1931 19322015-05-08 Mikael Morin <mikael@gcc.gnu.org> 1933 1934 * trans-array.c (gfc_walk_elemental_function_args): 1935 Don't skip the advance to the next dummy argument when skipping 1936 absent optional args. 1937 19382015-05-05 David Malcolm <dmalcolm@redhat.com> 1939 1940 * expr.c (check_inquiry): Fix indentation so that it reflects the 1941 block structure. 1942 * interface.c (compare_parameter): Likewise. 1943 * parse.c (parse_oacc_structured_block): Likewise. 1944 * target-memory.c (expr_to_char): Likewise. 1945 * trans-types.c (gfc_init_kinds): Likewise. 1946 19472015-05-02 Steven G. Kargl <kargl@gcc.gnu.org> 1948 1949 PR fortran/65976 1950 * invoke.texi: Remove 'no-' in '-fno-fixed-form' 1951 19522015-05-01 Mikael Morin <mikael@gcc.gnu.org> 1953 1954 * simplify.c (simplify_bound_dim): Tighten the check for array fullness 1955 by also checking for absence of subreference. 1956 (simplify_bound): Don't skip simplification if the array 1957 has subreferences. 1958 (simplify_cobound): Same. 1959 19602015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org> 1961 1962 PR fortran/37131 1963 * simplify.c (simplify_bound): Get constant lower bounds of one 1964 from array spec for assumed and explicit shape shape arrays if 1965 the lower bounds are indeed one. 1966 19672015-04-30 David Malcolm <dmalcolm@redhat.com> 1968 1969 * options.c (gfc_init_options): Remove spurious second 1970 semicolon. 1971 * trans-stmt.c (gfc_trans_allocate): Likewise. 1972 19732015-04-28 Andre Vehreschild <vehre@gmx.de> 1974 1975 * interface.c (gfc_compare_types): Check for unlimited 1976 polymorphism flag in the correct position indepent of the _data 1977 component being present or not. This prevents a segfault, when 1978 the _data component is not present. 1979 * symbol.c (gfc_type_compatible): Same. 1980 19812015-04-27 Jim Wilson <jim.wilson@linaro.org> 1982 1983 * Make-lang.in (fortran.mostlyclean): Remove gfortran and 1984 gfortran-cross. 1985 19862015-04-27 Andre Vehreschild <vehre@gmx.de> 1987 1988 PR fortran/59678 1989 PR fortran/65841 1990 * trans-array.c (duplicate_allocatable): Fixed deep copy of 1991 allocatable components, which are liable for copy only, when 1992 they are allocated. 1993 (gfc_duplicate_allocatable): Add deep-copy code into if 1994 component allocated block. Needed interface change for that. 1995 (gfc_copy_allocatable_data): Supplying NULL_TREE for code to 1996 add into if-block for checking whether a component was 1997 allocated. 1998 (gfc_duplicate_allocatable_nocopy): Likewise. 1999 (structure_alloc_comps): Likewise. 2000 * trans-array.h: Likewise. 2001 * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise. 2002 * trans-openmp.c (gfc_walk_alloc_comps): Likewise. 2003 20042015-04-23 Andre Vehreschild <vehre@gmx.de> 2005 2006 PR fortran/60322 2007 * expr.c (gfc_lval_expr_from_sym): Code to select the regular 2008 or class array added. 2009 * gfortran.h: Add IS_CLASS_ARRAY macro. 2010 * trans-array.c (gfc_add_loop_ss_code): Treat class objects 2011 to be referenced always. 2012 (build_class_array_ref): Adapt retrieval of array descriptor. 2013 (build_array_ref): Likewise. 2014 (gfc_conv_array_ref): Hand the vptr or the descriptor to 2015 build_array_ref depending whether the sym is class or not. 2016 (gfc_trans_array_cobounds): Select correct gfc_array_spec for 2017 regular and class arrays. 2018 (gfc_trans_array_bounds): Likewise. 2019 (gfc_trans_dummy_array_bias): Likewise. 2020 (gfc_get_dataptr_offset): Correcting call of build_array_ref. 2021 (gfc_conv_expr_descriptor): Set the array's offset to -1 when 2022 lbound in inner most dim is 1 and symbol non-pointer/assoc. 2023 * trans-decl.c (gfc_build_qualified_array): Select correct 2024 gfc_array_spec for regular and class arrays. 2025 (gfc_build_dummy_array_decl): Likewise. 2026 (gfc_get_symbol_decl): Get a dummy array for class arrays. 2027 (gfc_trans_deferred_vars): Tell conv_expr that the descriptor 2028 is desired. 2029 * trans-expr.c (gfc_class_vptr_get): Get the class descriptor 2030 from the correct location for class arrays. 2031 (gfc_class_len_get): Likewise. 2032 (gfc_conv_intrinsic_to_class): Add handling of _len component. 2033 (gfc_conv_class_to_class): Prevent access to unset array data 2034 when the array is an optional argument. Add handling of _len 2035 component. 2036 (gfc_copy_class_to_class): Check that _def_init is non-NULL 2037 when used in _vptr->copy() 2038 (gfc_trans_class_init_assign): Ensure that the rank of 2039 _def_init is zero. 2040 (gfc_conv_component_ref): Get the _vptr along with _data refs. 2041 (gfc_conv_variable): Make sure the temp array descriptor is 2042 returned for class arrays, too, and that class arrays are 2043 dereferenced correctly. 2044 (gfc_conv_procedure_call): For polymorphic type initialization 2045 the initializer has to be a pointer to _def_init stored in a 2046 dummy variable, which then needs to be used by value. 2047 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the 2048 temporary array descriptor for class arrays, too. 2049 (gfc_conv_intrinsic_storage_size): Likewise. 2050 (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS 2051 expressions. 2052 * trans-stmt.c (trans_associate_var): Use a temporary array for 2053 the associate variable of class arrays, too, making the array 2054 one-based (lbound == 1). 2055 * trans-types.c (gfc_is_nodesc_array): Use the correct 2056 array data. 2057 * trans.c (gfc_build_array_ref): Use the dummy array descriptor 2058 when present. 2059 * trans.h: Add class_vptr to gfc_se for storing a class ref's 2060 vptr. 2061 20622015-04-22 Steven G. Kargl <kargl@gcc.gnu.org> 2063 2064 PR fortran/65429 2065 * decl.c (add_init_expr_to_sym): Set the length type parameter. 2066 20672015-04-10 Tobias Burnus <burnus@net-b.de> 2068 2069 * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib 2070 version; reject not-yet-implemented variants. 2071 * trans-types.c (gfc_get_derived_type): For lock_type with 2072 -fcoarray=lib, use a void pointer as type. 2073 * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable): 2074 Handle lock_type with -fcoarray=lib. 2075 20762015-04-10 Mikael Morin <mikael@gcc.gnu.org> 2077 2078 PR fortran/56674 2079 PR fortran/58813 2080 PR fortran/59016 2081 PR fortran/59024 2082 * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the 2083 former to the latter and make it non-static. Update callers. 2084 * gfortran.h (gfc_save_symbol_data): New prototype. 2085 * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data' 2086 before modifying symbols 'sym' and 'dt_sym'. 2087 20882013-04-09 Paul Thomas <pault@gcc.gnu.org> 2089 2090 PR fortran/56852 2091 * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any 2092 of the index variables are untyped and errors are present. 2093 20942015-04-07 Andre Vehreschild <vehre@gmx.de> 2095 2096 PR fortran/65548 2097 * trans-stmt.c (gfc_trans_allocate): For intrinsic functions 2098 use conv_expr_descriptor() instead of conv_expr_reference(). 2099 21002015-03-30 Jakub Jelinek <jakub@redhat.com> 2101 2102 PR fortran/65597 2103 * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit 2104 linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN. 2105 For implcitly added !simple OMP_CLAUSE_LINEAR set it too. Use step 1 2106 instead of the original step on the new iterator - count. 2107 21082015-03-25 Mikael Morin <mikael@gcc.gnu.org> 2109 2110 PR fortran/64952 2111 PR fortran/65532 2112 * gfortran.h (struct gfc_namespace): New field 'types_resolved'. 2113 * resolve.c (resolve_types): Return early if field 'types_resolved' 2114 is set. Set 'types_resolved' at the end. 2115 21162015-03-24 Andre Vehreschild <vehre@gmx.de> 2117 2118 PR fortran/55901 2119 * trans-expr.c (gfc_conv_structure): Fixed indendation. 2120 Using integer_zero_node now instead of explicitly 2121 constructing a integer constant zero node. 2122 (gfc_conv_derived_to_class): Add handling of _len component, 2123 i.e., when the rhs has a string_length then assign that to 2124 class' _len, else assign 0. 2125 (gfc_conv_intrinsic_to_class): Likewise. 2126 21272015-03-24 Andre Vehreschild <vehre@gmx.de> 2128 2129 PR fortran/64787 2130 PR fortran/57456 2131 PR fortran/63230 2132 * class.c (gfc_add_component_ref): Free no longer needed 2133 ref-chains to prevent memory loss. 2134 (find_intrinsic_vtab): For deferred length char arrays or 2135 unlimited polymorphic objects, store the size in bytes of one 2136 character in the size component of the vtab. 2137 * gfortran.h: Added gfc_add_len_component () define. 2138 * trans-array.c (gfc_trans_create_temp_array): Switched to new 2139 function name for getting a class' vtab's field. 2140 (build_class_array_ref): Likewise. 2141 (gfc_array_init_size): Using the size information from allocate 2142 more consequently now, i.e., the typespec of the entity to 2143 allocate is no longer needed. This is to address the last open 2144 comment in PR fortran/57456. 2145 (gfc_array_allocate): Likewise. 2146 (structure_alloc_comps): gfc_copy_class_to_class () needs to 2147 know whether the class is unlimited polymorphic. 2148 * trans-array.h: Changed interface of gfc_array_allocate () to 2149 reflect the no longer needed typespec. 2150 * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New. 2151 (gfc_reset_len): New. 2152 (gfc_get_class_array_ref): Switch to new function name for 2153 getting a class' vtab's field. 2154 (gfc_copy_class_to_class): Added flag to know whether the class 2155 to copy is unlimited polymorphic. Adding _len dependent code 2156 then, which calls ->vptr->copy () with four arguments adding 2157 the length information ->vptr->copy(from, to, from_len, to_cap). 2158 (gfc_conv_procedure_call): Switch to new function name for 2159 getting a class' vtab's field. 2160 (alloc_scalar_allocatable_for_assignment): Use the string_length 2161 as computed by gfc_conv_expr and not the statically backend_decl 2162 which may be incorrect when ref-ing. 2163 (gfc_trans_assignment_1): Use the string_length variable and 2164 not the rse.string_length. The former has been computed more 2165 generally. 2166 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new 2167 function name for getting a class' vtab's field. 2168 (gfc_conv_intrinsic_storage_size): Likewise. 2169 (gfc_conv_intrinsic_transfer): Likewise. 2170 * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate 2171 source=expr3 only once before the loop over the objects to 2172 allocate, when the objects are not arrays. Doing correct _len 2173 initialization and calling of vptr->copy () fixing PR 64787. 2174 (gfc_trans_deallocate): Reseting _len to 0, preventing future 2175 errors. 2176 * trans.c (gfc_build_array_ref): Switch to new function name 2177 for getting a class' vtab's field. 2178 (gfc_add_comp_finalizer_call): Likewise. 2179 * trans.h: Define the prototypes for the gfc_class_vtab_*_get () 2180 and gfc_vptr_*_get () functions. 2181 Added gfc_find_and_cut_at_last_class_ref () and 2182 gfc_reset_len () routine prototype. Added flag to 2183 gfc_copy_class_to_class () prototype to signal an unlimited 2184 polymorphic entity to copy. 2185 21862015-03-24 Iain Sandoe <iain@codesourcery.com> 2187 Tobias Burnus <burnus@net-b.de> 2188 2189 * gfortran.texi (_gfortran_caf_sync_memory): Improve wording. 2190 21912015-03-23 Paul Thomas <pault@gcc.gnu.org> 2192 Mikael Morin <mikael@gcc.gnu.org> 2193 2194 PR fortran/64952 2195 * gfortran.h (struct symbol_attribute) : New field 2196 'array_outer_dependency'. 2197 * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'. 2198 * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY. 2199 (attr_bits): Append same value to initializer. 2200 (mio_symbol_attribute): Handle 'array_outer_dependency' attr 2201 in module read and write. 2202 * resolve.c (update_current_proc_outer_array_dependency): New function. 2203 (resolve_function, resolve_call): Add code to update current procedure's 2204 'array_outer_dependency' attribute. 2205 (resolve_variable): Mark current procedure with attribute 2206 array_outer_dependency if the variable is an array coming from outside 2207 the current namespace. 2208 (resolve_fl_procedure): Mark a procedure without body with attribute 2209 'array_outer_dependency'. 2210 * trans-array.c (gfc_conv_resolve_dependencies): If any ss is 2211 marked as 'array_outer_dependency' generate a temporary. 2212 (gfc_walk_function_expr): If the function may reference external arrays, 2213 mark the head gfc_ss with flag 'array_outer_dependency'. 2214 22152015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2216 2217 PR libgfortran/59513 2218 * gfortran.texi (Read/Write after EOF marker): New information. 2219 22202015-03-21 H.J. Lu <hongjiu.lu@intel.com> 2221 2222 * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one 2223 line. 2224 22252015-03-21 Tobias Burnus <burnus@net-b.de> 2226 2227 * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images, 2228 _gfortran_caf_sync_memory, _gfortran_caf_error_stop, 2229 _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define, 2230 _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas, 2231 _gfortran_caf_atomic_op): New sections. 2232 22332015-03-21 Tobias Burnus <burnus@net-b.de> 2234 2235 * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented 2236 coindexed coarray accesses. 2237 22382015-03-17 Paul Thomas <pault@gcc.gnu.org> 2239 2240 PR fortran/59198 2241 * trans-types.c (gfc_get_derived_type): If an abstract derived 2242 type with procedure pointer components has no other type of 2243 component, return the backend_decl. Otherwise build the 2244 components if any of the non-procedure pointer components have 2245 no backend_decl. 2246 22472015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2248 2249 PR fortran/64432 2250 *trans-intrinisic.c (conv_intrinsic_system_clock): Check the 2251 smallest kind passed in user arguments and hardcode tesults for 2252 KIND=1 or KIND=2 to indicate no clock available. 2253 22542015-03-16 Andre Vehreschild <vehre@gmx.de> 2255 2256 * resolve.c: Prevent segfault on illegal input. 2257 22582015-03-14 Mikael Morin <mikael@gcc.gnu.org> 2259 2260 PR fortran/61138 2261 * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY 2262 field before reusing LSE. 2263 22642015-03-11 Janne Blomqvist <jb@gcc.gnu.org> 2265 2266 PR libfortran/65200 2267 * gfortran.texi: Document behavior when opening files without 2268 explicit ACTION= specifier. 2269 22702015-03-10 Paul Thomas <pault@gcc.gnu.org> 2271 2272 PR fortran/65024 2273 * trans-expr.c (gfc_conv_component_ref): If the component 2274 backend declaration is missing and the derived type symbol is 2275 available in the reference, call gfc_build_derived_type. 2276 22772015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> 2278 Tobias Burnus <burnus@net-b.de> 2279 2280 * trans.h (caf_sync_memory): New function decl tree. 2281 * trans-decl.c (gfc_build_builtin_function_decls): Define it. 2282 (create_main_function): Don't call sync_synchronize and leave 2283 it to the CAF library. 2284 * trans-stmt.c (gfc_trans_stop): Ditto. 2285 (gfc_trans_sync): Ditto; add call library call for sync memory. 2286 22872015-03-08 Mikael Morin <mikael@gcc.gnu.org> 2288 2289 PR fortran/60898 2290 * resolve.c (resolve_symbol): Check that the symbol found by 2291 name lookup really is the current symbol being resolved. 2292 22932015-03-02 Tobias Burnus <burnus@net-b.de> 2294 2295 * check.c (gfc_check_atomic): Properly check for coarrayness 2296 and for being coindexed. 2297 22982015-02-26 Martin Liska <mliska@suse.cz> 2299 2300 * resolve.c: Rename enum 'comparison' to 'compare_result' as 2301 solution for -Wodr issue. 2302 23032015-02-24 Thomas Schwinge <thomas@codesourcery.com> 2304 2305 PR libgomp/64625 2306 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 2307 Remove macros. 2308 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. 2309 * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) 2310 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): 2311 Remove function types. 2312 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR) 2313 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR) 2314 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): 2315 New function types. 2316 23172015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de> 2318 2319 PR fortran/64980 2320 PR fortran/61960 2321 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping 2322 for component references to class objects. 2323 (gfc_conv_procedure_call): Compare the class by name. 2324 23252015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2326 2327 PR fortran/64506 2328 * scanner.c (gfc_next_char_literal): For free form source, 2329 check for '!' and if found, clear the comment and go back 2330 and get the next character. For fixed form source, skip the 2331 rest of the line. 2332 23332015-02-12 Paul Thomas <pault@gcc.gnu.org> 2334 2335 PR fortran/64932 2336 * trans-stmt.c (gfc_trans_deallocate): If a component array 2337 expression is not a descriptor type and it is a derived type 2338 that has allocatable components and is not finalizable, then 2339 deallocate the allocatable components. 2340 23412015-02-08 Mikael Morin <mikael@gcc.gnu.org> 2342 2343 PR fortran/63744 2344 * module.c (check_for_ambiguous): Change argument type 2345 from gfc_symbol to gfc_symtree. Check local (symtree) name 2346 instead of original (symbol) name. 2347 (read_module): Update caller. 2348 23492015-02-06 Paul Thomas <pault@gcc.gnu.org> 2350 2351 PR fortran/63205 2352 * gfortran.h: Add 'must finalize' field to gfc_expr and 2353 prototypes for gfc_is_alloc_class_scalar_function and for 2354 gfc_is_alloc_class_array_function. 2355 * expr.c (gfc_is_alloc_class_scalar_function, 2356 gfc_is_alloc_class_array_function): New functions. 2357 * trans-array.c (gfc_add_loop_ss_code): Do not move the 2358 expression for allocatable class scalar functions outside the 2359 loop. 2360 (conv_array_index_offset): Cope with deltas being NULL_TREE. 2361 (build_class_array_ref): Do not return with allocatable class 2362 array functions. Add code to pick out the returned class array. 2363 Dereference if necessary and return if not a class object. 2364 (gfc_conv_scalarized_array_ref): Cope with offsets being NULL. 2365 (gfc_walk_function_expr): Return an array ss for the result of 2366 an allocatable class array function. 2367 * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert 2368 that the argument should be a variable. If an allocatable class 2369 array function, set the offset to zero and skip the write-out 2370 loop in this case. 2371 (gfc_conv_procedure_call): Add allocatable class array function 2372 to the assert. Call gfc_conv_subref_array_arg for allocatable 2373 class array function arguments with derived type formal arg.. 2374 Add the code for handling allocatable class functions, including 2375 finalization calls to prevent memory leaks. 2376 (arrayfunc_assign_needs_temporary): Return if an allocatable 2377 class array function. 2378 (gfc_trans_assignment_1): Set must_finalize to rhs expression 2379 for allocatable class functions. Set scalar_to_array as needed 2380 for scalar class allocatable functions assigned to an array. 2381 Nullify the allocatable components corresponding the the lhs 2382 derived type so that the finalization does not free them. 2383 23842015-01-29 Andre Vehreschild <vehre@gmx.de> 2385 Janus Weil <janus@gcc.gnu.org> 2386 2387 PR fortran/60289 2388 Initial patch by Janus Weil 2389 * resolve.c (resolve_allocate_expr): Add check for comp. only 2390 when target is not unlimited polymorphic. 2391 * trans-stmt.c (gfc_trans_allocate): Assign correct value to 2392 _len component of unlimited polymorphic entities. 2393 23942015-02-05 Tobias Burnus <burnus@net-b.de> 2395 2396 PR fortran/64943 2397 * resolve.c (resolve_transfer): Also check structure 2398 constructors. 2399 24002015-02-05 Paul Thomas <pault@gcc.gnu.org> 2401 2402 PR fortran/64757 2403 * resolve.c (resolve_structure_cons): Obtain the rank of class 2404 components. 2405 * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the 2406 assignment to allocatable class array components. 2407 (alloc_scalar_allocatable_for_subcomponent_assignment): If comp 2408 is a class component, allocate to the _data field. 2409 (gfc_trans_subcomponent_assign): If a class component with a 2410 derived type expression set the _vptr field and for array 2411 components, call gfc_trans_alloc_subarray_assign. For scalars, 2412 the assignment is performed here. 2413 24142015-02-04 Jakub Jelinek <jakub@redhat.com> 2415 2416 * options.c: Include langhooks.h. 2417 (gfc_post_options): Change lang_hooks.name based on 2418 selected -std= mode. 2419 24202015-02-03 Steven G. Kargl <kargl@gcc.gnu.org> 2421 2422 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1. 2423 24242015-01-30 Andre Vehreschild <vehre@gmx.de> 2425 2426 * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code. 2427 * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation. 2428 Fixed datatype of charlen to be a 32-bit int. 2429 24302015-02-01 Joseph Myers <joseph@codesourcery.com> 2431 2432 * error.c (gfc_warning (const char *, ...), gfc_warning_now (const 2433 char *, ...)): Remove functions. 2434 * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now 2435 (const char *, ...)): Remove declarations. 2436 * arith.c, check.c, data.c, decl.c, frontend-passes.c, 2437 interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c, 2438 options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c, 2439 trans-common.c, trans-const.c, trans-stmt.c: All callers of 2440 gfc_warning and gfc_warning_now changed to pass 0 or option number 2441 as first argument. 2442 24432015-01-30 Joseph Myers <joseph@codesourcery.com> 2444 2445 * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All 2446 callers of fatal_error changed to pass input_location as first 2447 argument. 2448 24492015-01-28 Tobias Burnus <burnus@net-b.de> 2450 2451 * intrinsic.texi (CO_BROADCAST): Correct argument description. 2452 24532015-01-27 Tobias Burnus <burnus@net-b.de> 2454 2455 PR fortran/63861 2456 * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses): 2457 Fix handling for scalar coarrays. 2458 * trans-types.c (gfc_get_element_type): Add comment. 2459 24602015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2461 2462 PR fortran/64771 2463 * interface.c: Remove <algorithm>. 2464 (check_dummy_characteristics): Use MAX instead of std::max. 2465 24662015-01-26 Paul Thomas <pault@gcc.gnu.org> 2467 2468 PR fortran/62044 2469 * resolve.c (resolve_allocate_expr): If the default initializer 2470 is NULL, keep the original MOLD expression so that the correct 2471 typespec is available. 2472 24732015-01-26 Tobias Burnus <burnus@net-b.de> 2474 2475 PR fortran/64771 2476 * interface.c (check_dummy_characteristics): Fix coarray handling. 2477 24782015-01-26 Tobias Burnus <burnus@net-b.de> 2479 2480 * io.c (gfc_match_inquire): Replace "-1" by a defined constant. 2481 24822015-01-26 Janus Weil <janus@gcc.gnu.org> 2483 2484 PR fortran/64230 2485 * class.c (finalize_component): New argument 'sub_ns'. Insert code to 2486 check if 'expr' is associated. 2487 (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and 2488 'ptr2'. Pass 'sub_ns' to finalize_component. 2489 24902015-01-25 Mikael Morin <mikael@gcc.gnu.org> 2491 2492 PR fortran/62044 2493 * decl.c (gfc_match_derived_decl): Don't insert a new symtree element. 2494 * module.c (MOD_VERSION): Bump. 2495 (write_module): Don't write list of extensions. 2496 (read_module): Don't jump over list of extensions; 2497 don't load list of extensions. 2498 (load_derived_extensions, write_dt_extensions, 2499 write_derived_extensions): Remove. 2500 25012015-01-24 Tobias Burnus <burnus@net-b.de> 2502 2503 * parse.c (gfc_parse_file): Fix two-location gfc_error call. 2504 25052015-01-23 Martin Liska <mliska@suse.cz> 2506 2507 * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized 2508 false positive during profiledbootstrap by initializing them. 2509 * matchexp.c (match_mult_operand): Likewise. 2510 * module.c (write_atom): Likewise. 2511 (read_module): Likewise. 2512 25132015-01-23 Tom de Vries <tom@codesourcery.com> 2514 2515 PR libgomp/64672 2516 * lang.opt (fopenacc): Mark as LTO option. 2517 25182015-01-23 Tom de Vries <tom@codesourcery.com> 2519 2520 PR libgomp/64707 2521 * lang.opt (fopenmp): Mark as LTO option. 2522 25232015-01-23 Andre Vehreschild <vehre@gmx.de> 2524 2525 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment. 2526 * trans-stmt.c (gfc_trans_allocate): Fixed indentation. 2527 25282015-01-23 Jakub Jelinek <jakub@redhat.com> 2529 2530 * gfc-diagnostic.def (DK_ICE_NOBT): New kind. 2531 25322015-01-23 Janus Weil <janus@gcc.gnu.org> 2533 2534 PR fortran/60922 2535 * class.c (finalize_component): Apply the check for 'fini_coarray' only 2536 to coarray components. 2537 25382015-01-23 Tobias Burnus <burnus@net-b.de> 2539 2540 PR fortran/64726 2541 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix 2542 loop generation. 2543 25442015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2545 2546 PR fortran/61933 2547 * libgfortran.h: 2548 * trans-io.c (set_parameter_value): Delete use of has_iostat. 2549 Redefine to not generate any runtime error check calls. 2550 (set_parameter_value_chk): Rename of the former 2551 set_parameter_value with the runtime error checks and fix 2552 whitespace. (set_parameter_value_inquire): New function that 2553 builds a runtime conditional block to set the INQUIRE 2554 common parameter block unit number to -2 when unit numbers 2555 exceed positive KIND=4 limits. (gfc_trans_open): Whitespace. 2556 For unit, use the renamed set_parameter_value_chk. 2557 (gfc_trans_close): Likewise use renamed function. 2558 (build_filepos): Whitespace and use renamed function. 2559 (gfc_trans_inquire): Whitespace and for unit use 2560 set_parameter_value and set_parameter_value_inquire. 2561 (gfc_trans_wait): Remove p->iostat from call to 2562 set_parameter_value. Use new set_parameter_value_chk for unit. 2563 (build_dt): Use the new set_parameter_value without p->iostat 2564 and fix whitespace. Use set_parameter_value_chk for unit. 2565 25662015-01-21 Thomas Koenig <tkoenig@netcologne.de> 2567 2568 PR fortran/57023 2569 * dependency.c (callback_dummy_intent_not_int): New function. 2570 (dummy_intent_not_in): New function. 2571 (gfc_full_array_ref_p): Use dummy_intent_not_in. 2572 25732015-01-18 Andre Vehreschild <vehre@gmx.de> 2574 Janus Weil <janus@gcc.gnu.org> 2575 2576 PR fortran/60255 2577 * class.c (gfc_get_len_component): New. 2578 (gfc_build_class_symbol): Add _len component to unlimited 2579 polymorphic entities. 2580 (find_intrinsic_vtab): Removed emitting of error message. 2581 * gfortran.h: Added prototype for gfc_get_len_component. 2582 * simplify.c (gfc_simplify_len): Use _len component where 2583 available. 2584 * trans-expr.c (gfc_class_len_get): New. 2585 (gfc_conv_intrinsic_to_class): Add handling for deferred 2586 character arrays. 2587 (gfc_conv_structure): Treat _len component correctly. 2588 (gfc_conv_expr): Prevent bind_c handling when not required. 2589 (gfc_trans_pointer_assignment): Propagate _len component. 2590 * trans-stmt.c (class_has_len_component): New. 2591 (trans_associate_var): _len component treatment for associate 2592 context. 2593 (gfc_trans_allocate): Same as for trans_associate_var() 2594 * trans.h: Added prototype for gfc_class_len_get. 2595 25962015-01-18 Paul Thomas <pault@gcc.gnu.org> 2597 2598 PR fortran/57959 2599 * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy 2600 for allocatable components, where the source is a variable. 2601 26022015-01-18 Paul Thomas <pault@gcc.gnu.org> 2603 2604 PR fortran/55901 2605 * primary.c (gfc_match_varspec): Exclude dangling associate- 2606 names with dimension 0 from being counted as arrays. 2607 * resolve.c (resolve_assoc_var): Sub-strings are permissible 2608 for associate-names, so exclude characters from the test for 2609 misuse as arrays. 2610 * trans-decl.c (gfc_get_symbol_decl): Associate-names can use 2611 the hidden string length variable of their associated target. 2612 Signal this by setting 'length' to a constant, if the decl for 2613 the string length is a variable. 2614 26152015-01-17 Paul Thomas <pault@gcc.gnu.org> 2616 2617 PR fortran/64578 2618 * trans-expr.c (gfc_trans_pointer_assignment): Make sure that 2619 before reinitializing rse, to add the rse.pre to block before 2620 creating 'ptrtemp'. 2621 * trans-intrinsic.c (gfc_conv_associated): Deal with the class 2622 data being a descriptor. 2623 26242015-01-17 Andre Vehreschild <vehre@gmx.de> 2625 2626 PR fortran/60357 2627 * primary.c (build_actual_constructor): Prevent warning. 2628 * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_ 2629 assignment): New function encapsulates treatment of allocatable 2630 components. 2631 (gfc_trans_subcomponent_assign): Needed to distinguish between 2632 regular assignment and initilization. 2633 (gfc_trans_structure_assign): Same. 2634 (gfc_conv_structure): Same. 2635 2636 PR fortran/61275 2637 * gfortran.h: deferred_parameter is not needed, because 2638 it artificial does the trick completely. 2639 * primary.c (build_actual_constructor): Same. 2640 (gfc_convert_to_structure_constructor): Same. 2641 * resolve.c (resolve_fl_derived0): Same. 2642 * trans-expr.c (gfc_conv_component_ref): Prevent treating 2643 allocatable deferred length char arrays here. 2644 (gfc_trans_subcomponent_assign): Same as above. 2645 * trans-types.c (gfc_sym_type): This is done in 2646 gfc_get_derived_type already. 2647 26482015-01-17 Andre Vehreschild <vehre@gmx.de> 2649 2650 PR fortran/60334 2651 * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string 2652 length when the symbol is declared to be a result. 2653 * trans-expr.c (gfc_conv_procedure_call): Strip deref on the 2654 string length when functions are nested and the string length 2655 is a reference already. 2656 26572015-01-16 Janus Weil <janus@gcc.gnu.org> 2658 2659 PR fortran/45290 2660 * decl.c (match_pointer_init): Error out if resolution of init expr 2661 failed. 2662 26632015-01-15 Tobias Burnus <burnus@net-b.de> 2664 2665 * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses, 2666 resolve_oacc_deviceptr_clause, resolve_omp_clauses, 2667 gfc_resolve_oacc_declare): Replace '%s' by %qs. 2668 26692015-01-15 Thomas Schwinge <thomas@codesourcery.com> 2670 Cesar Philippidis <cesar@codesourcery.com> 2671 James Norris <jnorris@codesourcery.com> 2672 Ilmir Usmanov <i.usmanov@samsung.com> 2673 Tobias Burnus <burnus@net-b.de> 2674 2675 * lang.opt (fopenacc): New option. 2676 * cpp.c (cpp_define_builtins): Conditionally define _OPENACC. 2677 * dump-parse-tree.c (show_omp_node): Split part of it into... 2678 (show_omp_clauses): ... this new function. 2679 (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP, 2680 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, 2681 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, 2682 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE, 2683 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA. 2684 (show_namespace): Update for OpenACC. 2685 * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8) 2686 (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN) 2687 (DEF_GOACC_BUILTIN_COMPILER): New macros. 2688 * types.def (BT_FN_VOID_INT_INT_VAR) 2689 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR) 2690 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR): 2691 New function types. 2692 * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP, 2693 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL, 2694 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA, 2695 ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, 2696 ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, 2697 ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP, 2698 ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA, 2699 ST_OACC_ROUTINE. 2700 (struct gfc_expr_list): New data type. 2701 (gfc_get_expr_list): New macro. 2702 (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC, 2703 OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM, 2704 OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR. 2705 (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE) 2706 (OMP_LIST_CACHE): New enumerators. 2707 (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr, 2708 vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr, 2709 wait_list, tile_list, async, gang, worker, vector, seq, 2710 independent, wait, par_auto, gang_static, and loc members. 2711 (struct gfc_namespace): Add oacc_declare_clauses member. 2712 (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP, 2713 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS, 2714 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, 2715 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE, 2716 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA. 2717 (gfc_free_expr_list, gfc_resolve_oacc_directive) 2718 (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks) 2719 (gfc_resolve_oacc_blocks): New prototypes. 2720 * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and 2721 EXEC_OACC_PARALLEL_LOOP. 2722 * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait) 2723 (gfc_match_oacc_update, gfc_match_oacc_declare) 2724 (gfc_match_oacc_loop, gfc_match_oacc_host_data) 2725 (gfc_match_oacc_data, gfc_match_oacc_kernels) 2726 (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel) 2727 (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data) 2728 (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New 2729 prototypes. 2730 * openmp.c: Include "diagnostic.h" and "gomp-constants.h". 2731 (gfc_free_omp_clauses): Update for members added to struct 2732 gfc_omp_clauses. 2733 (gfc_match_omp_clauses): Change mask paramter to uint64_t. Add 2734 openacc parameter. 2735 (resolve_omp_clauses): Add openacc parameter. Update for OpenACC. 2736 (struct fortran_omp_context): Add is_openmp member. 2737 (gfc_resolve_omp_parallel_blocks): Initialize it. 2738 (gfc_resolve_do_iterator): Update for OpenACC. 2739 (gfc_resolve_omp_directive): Call 2740 resolve_omp_directive_inside_oacc_region. 2741 (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE) 2742 (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE) 2743 (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION) 2744 (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE) 2745 (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE) 2746 (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE) 2747 (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH) 2748 (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND) 2749 (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM) 2750 (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO) 2751 (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT) 2752 (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t. 2753 (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS) 2754 (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT) 2755 (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT) 2756 (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN) 2757 (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE) 2758 (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER) 2759 (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT) 2760 (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT) 2761 (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT) 2762 (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros. 2763 (gfc_match_omp_clauses): Handle those. 2764 (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES) 2765 (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES) 2766 (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES) 2767 (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES) 2768 (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES) 2769 (OACC_WAIT_CLAUSES): New macros. 2770 (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang) 2771 (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop) 2772 (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop) 2773 (gfc_match_oacc_kernels, gfc_match_oacc_data) 2774 (gfc_match_oacc_host_data, gfc_match_oacc_loop) 2775 (gfc_match_oacc_declare, gfc_match_oacc_update) 2776 (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data) 2777 (gfc_match_oacc_wait, gfc_match_oacc_cache) 2778 (gfc_match_oacc_routine, oacc_is_loop) 2779 (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr) 2780 (check_symbol_not_pointer, check_array_not_assumed) 2781 (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause) 2782 (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels) 2783 (omp_code_to_statement, oacc_code_to_statement) 2784 (resolve_oacc_directive_inside_omp_region) 2785 (resolve_omp_directive_inside_oacc_region) 2786 (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel) 2787 (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks) 2788 (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare) 2789 (gfc_resolve_oacc_directive): New functions. 2790 * parse.c (next_free): Update for OpenACC. Move some code into... 2791 (verify_token_free): ... this new function. 2792 (next_fixed): Update for OpenACC. Move some code into... 2793 (verify_token_fixed): ... this new function. 2794 (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT, 2795 ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA. 2796 (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL, 2797 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP, 2798 ST_OACC_KERNELS_LOOP. 2799 (case_decl): Add ST_OACC_ROUTINE. 2800 (push_state, parse_critical_block, parse_progunit): Update for 2801 OpenACC. 2802 (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP, 2803 ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL, 2804 ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP, 2805 ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA, 2806 ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP, 2807 ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT, 2808 ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA, 2809 ST_OACC_ROUTINE. 2810 (verify_st_order, parse_spec): Handle ST_OACC_DECLARE. 2811 (parse_executable): Handle ST_OACC_PARALLEL_LOOP, 2812 ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL, 2813 ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA. 2814 (decode_oacc_directive, parse_oacc_structured_block) 2815 (parse_oacc_loop, is_oacc): New functions. 2816 * parse.h (struct gfc_state_data): Add oacc_declare_clauses 2817 member. 2818 (is_oacc): New prototype. 2819 * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle 2820 EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, 2821 EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA, 2822 EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE, 2823 EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA, 2824 EXEC_OACC_EXIT_DATA. 2825 (resolve_codes): Call gfc_resolve_oacc_declare. 2826 * scanner.c (openacc_flag, openacc_locus): New variables. 2827 (skip_free_comments): Update for OpenACC. Move some code into... 2828 (skip_omp_attribute): ... this new function. 2829 (skip_oacc_attribute): New function. 2830 (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC. 2831 * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP, 2832 EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, 2833 EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, 2834 EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE, 2835 EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA. 2836 * trans-decl.c (gfc_generate_function_code): Update for OpenACC. 2837 * trans-openmp.c: Include "gomp-constants.h". 2838 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_* 2839 instead of OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND. 2840 (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE, 2841 OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC, 2842 OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, 2843 OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT, 2844 OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq, 2845 independent, wait_list, num_gangs_expr, num_workers_expr, 2846 vector_length_expr, vector, vector_expr, worker, worker_expr, 2847 gang, gang_expr members. 2848 (gfc_trans_omp_do): Handle EXEC_OACC_LOOP. 2849 (gfc_convert_expr_to_tree, gfc_trans_oacc_construct) 2850 (gfc_trans_oacc_executable_directive) 2851 (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive) 2852 (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions. 2853 * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC. 2854 * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare): 2855 New prototypes. 2856 * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT, 2857 EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA, 2858 EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP, 2859 EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA, 2860 EXEC_OACC_EXIT_DATA. 2861 * gfortran.texi: Update for OpenACC. 2862 * intrinsic.texi: Likewise. 2863 * invoke.texi: Likewise. 2864 28652015-01-15 Janus Weil <janus@gcc.gnu.org> 2866 2867 PR fortran/58023 2868 * resolve.c (resolve_fl_derived0): Continue resolving next component 2869 after error. 2870 28712015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2872 2873 PR fortran/61933 2874 * io.c (gfc_match_inquire): Generate error if unit number in 2875 inquire statement is a constant -1. All other values allowed. 2876 * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable. 2877 (create_dummy_iostat): Delete function no longer used. 2878 28792015-01-13 Jakub Jelinek <jakub@redhat.com> 2880 2881 PR fortran/64528 2882 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY 2883 on dummy args with VALUE attribute. 2884 28852015-01-11 Janus Weil <janus@gcc.gnu.org> 2886 2887 PR fortran/63733 2888 * interface.c (gfc_extend_expr): Look for type-bound operators before 2889 non-typebound ones. 2890 28912015-01-11 Janus Weil <janus@gcc.gnu.org> 2892 2893 PR fortran/58023 2894 * resolve.c (resolve_fl_derived0): Set error flag if problems with the 2895 interface of a procedure-pointer component were detected. 2896 28972015-01-11 Janus Weil <janus@gcc.gnu.org> 2898 2899 PR fortran/64508 2900 * interface.c (compare_parameter): Interface check for 2901 procedure-pointer component as actual argument. 2902 29032015-01-10 Thomas Schwinge <thomas@codesourcery.com> 2904 2905 * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP 2906 Runtime Library" to "GNU Offloading and Multi Processing Runtime 2907 Library". 2908 * intrinsic.texi: Likewise. 2909 29102015-01-10 Tobias Burnus <burnus@net-b.de> 2911 2912 PR fortran/64522 2913 * invoke.texi (Wline-truncation): Document new behaviour. 2914 * lang.opt (Wline-truncation): Add Init(-1). 2915 * options.c (gfc_post_options): If -Wline-truncation is unset, 2916 enable it for free-form source files; for the latter, also use 2917 -Werror=line-truncation, unless -Wno-error has been specified. 2918 29192015-01-09 Michael Collison <michael.collison@linaro.org> 2920 2921 * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2922 input.h, alias.h, symtab.h, options.h, fold-const.h, 2923 wide-int.h, and inchash.h due to flattening of tree.h. 2924 * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2925 input.h, alias.h, symtab.h, fold-const.h, 2926 wide-int.h, and inchash.h due to flattening of tree.h. 2927 * decl.c: Ditto. 2928 * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2929 input.h, alias.h, symtab.h, options.h, fold-const.h, 2930 wide-int.h, and inchash.h due to flattening of tree.h. 2931 * iresolve.c: Ditto. 2932 * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2933 input.h, alias.h, symtab.h, fold-const.h, 2934 wide-int.h, and inchash.h due to flattening of tree.h. 2935 * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2936 input.h, alias.h, symtab.h, options.h, fold-const.h, 2937 wide-int.h, and inchash.h due to flattening of tree.h. 2938 * options.c: Ditto. 2939 * target-memory.c: Include hash-set.h, vec.h, 2940 double-int.h, input.h, alias.h, symtab.h, fold-const.h, 2941 wide-int.h, and inchash.h due to flattening of tree.h. 2942 * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2943 input.h, alias.h, symtab.h, options.h, fold-const.h, 2944 wide-int.h, and inchash.h due to flattening of tree.h. 2945 * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2946 input.h, alias.h, symtab.h, options.h, fold-const.h, 2947 wide-int.h, and inchash.h due to flattening of tree.h. 2948 * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2949 input.h, alias.h, symtab.h, fold-const.h, 2950 wide-int.h, and inchash.h due to flattening of tree.h. 2951 * trans-const.c: Ditto. 2952 * trans-decl.c: Ditto. 2953 * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2954 input.h, alias.h, symtab.h, options.h, fold-const.h, 2955 wide-int.h, and inchash.h due to flattening of tree.h. 2956 * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2957 input.h, alias.h, symtab.h, fold-const.h, 2958 wide-int.h, inchash.h and real.h due to flattening of tree.h. 2959 * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2960 input.h, alias.h, symtab.h, options.h, fold-const.h, 2961 wide-int.h, and inchash.h due to flattening of tree.h. 2962 * trans-openmp.c: Ditto. 2963 * trans-stmt.c: Ditto. 2964 * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h, 2965 input.h, alias.h, symtab.h, fold-const.h, 2966 wide-int.h, inchash.h and real.h due to flattening of tree.h. 2967 29682015-01-08 Tobias Burnus <burnus@net-b.de> 2969 2970 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens 2971 for module coarrays with -fcoarray=lib. 2972 (get_proc_pointer_decl): As module variable, make only public 2973 when not marked as private. 2974 29752015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> 2976 2977 PR fortran/47674 2978 * dependency.h: Actually commit changes. 2979 29802015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> 2981 2982 PR fortran/47674 2983 * dependency.c: Update copyright years. 2984 (gfc_discard_nops): Add prototype. 2985 * dependency.c (discard_nops): Rename to gfc_discard_nops, 2986 make non-static. 2987 (gfc_discard_nops): Use gfc_discard_nops. 2988 (gfc_dep_difference): Likewise. 2989 * frontend-passes.c Update copyright years. 2990 (realloc_strings): New function. Add prototype. 2991 (gfc_run_passes): Call realloc_strings. 2992 (realloc_string_callback): New function. 2993 (create_var): Add prototype. Handle case of a 2994 scalar character variable. 2995 (optimize_trim): Do not handle allocatable variables. 2996 29972015-01-05 Jakub Jelinek <jakub@redhat.com> 2998 2999 Update copyright years. 3000 3001 * gfortranspec.c (lang_specific_driver): Update copyright notice 3002 dates. 3003 * gfc-internals.texi: Bump @copying's copyright year. 3004 * gfortran.texi: Ditto. 3005 * intrinsic.texi: Ditto. 3006 * invoke.texi: Ditto. 3007 30082015-01-02 Janus Weil <janus@gcc.gnu.org> 3009 3010 PR fortran/57562 3011 * expr.c (find_component_ref): Deal with extended types. 3012 30132015-01-02 Tobias Burnus <burnus@net-b.de> 3014 3015 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens 3016 for module coarrays with -fcoarray=lib. 3017 30182015-01-02 Janus Weil <janus@gcc.gnu.org> 3019 3020 PR fortran/60507 3021 * interface.c (is_procptr_result): New function to check if an 3022 expression is a procedure-pointer result. 3023 (compare_actual_formal): Use it. 3024 3025Copyright (C) 2015 Free Software Foundation, Inc. 3026 3027Copying and distribution of this file, with or without modification, 3028are permitted in any medium without royalty provided the copyright 3029notice and this notice are preserved. 3030