| 2007-12-31 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/34558 |
| * interface.c (gfc_compare_types): Prevent linked lists from |
| putting this function into an endless recursive loop. |
| |
| 2007-12-26 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/34532 |
| * gfortran.texi: Fixed section about implicit conversion of |
| logical and integer variables. |
| |
| 2007-12-25 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34514 |
| * decl.c (attr_decl1): Reject specifying the DIMENSION for |
| already initialized variable. |
| (do_parm): Reject PARAMETER for already initialized variable. |
| |
| 2007-12-25 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/34533 |
| * intrinsic.h (gfc_check_etime): Renamed to ... |
| (gfc_check_dtime_etime): ... this. |
| (gfc_check_etime_sub): Renamed to ... |
| (gfc_check_dtime_etime_sub): ... this. |
| (gfc_resolve_dtime_sub): New prototype. |
| * check.c (gfc_check_etime): Renamed to ... |
| (gfc_check_dtime_etime): ... this. |
| (gfc_check_etime_sub): Renamed to ... |
| (gfc_check_dtime_etime_sub): ... this. |
| * iresolve.c (gfc_resolve_dtime_sub): New implementation. |
| * intrinsic.c (add_functions): Removed alias from ETIME to DTIME, |
| added stand-alone intrinsic DTIME. |
| (add_subroutines): Adjusted check and resolve function names for |
| DTIME and ETIME. |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Added DTIME |
| to known functions in switch. |
| * intrinsic.texi (DTIME): Added paragraph about thread-safety, |
| fixed return value section. |
| (CPU_TIME): Clarified intent and added implementation notes. |
| |
| 2007-12-23 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34421 |
| * resolve.c (resolve_entries): Add standard error for functions |
| returning characters with different length. |
| |
| 2007-12-23 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/34536 |
| * matchexp.c (match_ext_mult_operand): Print warning for unary |
| operators following arithmetic ones by default. |
| (match_ext_add_operand): Likewise. |
| |
| 2007-12-22 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/34559 |
| * simplify.c (gfc_simplify_repeat): Added safeguard for empty |
| string literals. |
| |
| 2007-12-22 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/34549 |
| * check.c (gfc_check_cshift): Add check that shift is |
| type INTEGER. |
| |
| 2007-12-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/34540 |
| * iresolve.c (gfc_resolve_cshift): Take optional dim path |
| only if the argument is an optional itself. |
| * iresolve.c (gfc_resolve_eoshift): Same. |
| |
| 2007-12-21 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/34438 |
| * trans-decl.c (gfc_finish_var_decl): Do not mark derived types |
| with default initializers as TREE_STATIC unless they are in the |
| main program scope. |
| (gfc_get_symbol_decl): Pass derived types with a default |
| initializer to gfc_defer_symbol_init. |
| (init_default_dt): Apply default initializer to a derived type. |
| (init_intent_out_dt): Call init_default_dt. |
| (gfc_trans_deferred_vars): Ditto. |
| |
| * module.c (read_module): Check sym->module is there before |
| using it in a string comparison. |
| |
| 2007-12-20 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34482 |
| * gfortran.texi (BOZ): Document behavior for complex |
| numbers. |
| * target-memory.h (gfc_convert_boz): Update prototype. |
| * target-memory.c (gfc_convert_boz): Add error check |
| and convert BOZ to smallest possible bit size. |
| * resolve.c (resolve_ordinary_assign): Check return value. |
| * expr.c (gfc_check_assign): Ditto. |
| * simplify.c (simplify_cmplx, gfc_simplify_dble, |
| gfc_simplify_float, gfc_simplify_real): Ditto. |
| |
| 2007-12-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/34325 |
| * match.h: New function declaration. |
| * match.c (gfc_match_parens): New function to look for mismatched |
| parenthesis. (gfc_match_if): Use new function to catch missing '('. |
| |
| 2007-12-19 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/34495 |
| * expr.c (check_init_expr): Check whether variables with flavor |
| FL_PARAMETER do have a value assigned. Added error messages where |
| appropriate. |
| * simplify.c (gfc_simplify_transfer): Added check if the MOLD |
| argument is a constant if working with initialization |
| expressions. |
| |
| 2007-12-17 Tobias Burnus <burnus@net-b.de> |
| |
| * intrinsic.c (add_functions): Undo change; mark float and |
| sngl as STD_F77. |
| * intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later. |
| * gfortran.texi (BOZ): Make note about FLOAT etc. clearer. |
| |
| 2007-12-16 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34495 |
| * intrinsic.c (add_functions): Mark float and sngl as STD_GNU. |
| (gfc_intrinsic_func_interface): Reject REAL, DBLE and CMPLX |
| in initialization expressions for -std=f95. |
| |
| 2007-12-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/34305 |
| * resolve.c (compare_bound): If either of the types of |
| the arguments isn't INTEGER, return CMP_UNKNOWN. |
| |
| 2007-12-16 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34246 |
| * trans-types.c (gfc_init_types): Change build_type_variant |
| to build_qualified_type. |
| (gfc_sym_type): Return gfc_character1_type_node for |
| character-returning bind(C) functions. |
| * trans-expr.c (gfc_conv_function_call): Do not set |
| se->string_length for character-returning bind(c) functions. |
| (gfc_trans_string_copy,gfc_trans_scalar_assign): |
| Support also single characters. |
| |
| 2007-12-16 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * errors.c (gfc_notify_std): As originally stated but improperly |
| changed, disregard warnings_are_errors for deciding which buffer |
| to use for warnings. |
| |
| 2007-12-16 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31213 |
| PR fortran/33888 |
| PR fortran/33998 |
| * trans-array.c (gfc_trans_array_constructor_value): If the |
| iterator variable does not have a backend_decl, use a local |
| temporary. |
| (get_elemental_fcn_charlen): New function to map the character |
| length of an elemental function onto its actual arglist. |
| (gfc_conv_expr_descriptor): Call the above so that the size of |
| the temporary can be evaluated. |
| * trans-expr.c : Include arith.h and change prototype of |
| gfc_apply_interface_mapping_to_expr to return void. Change all |
| references to gfc_apply_interface_mapping_to_expr accordingly. |
| (gfc_free_interface_mapping): Free the 'expr' field. |
| (gfc_add_interface_mapping): Add an argument for the actual |
| argument expression. This is copied to the 'expr' field of the |
| mapping. Only stabilize the backend_decl if the se is present. |
| Copy the character length expression and only add it's backend |
| declaration if se is present. Return without working on the |
| backend declaration for the new symbol if se is not present. |
| (gfc_map_intrinsic_function) : To simplify intrinsics 'len', |
| 'size', 'ubound' and 'lbound' and then to map the result. |
| (gfc_map_fcn_formal_to_actual): Performs the formal to actual |
| mapping for the case of a function found in a specification |
| expression in the interface being mapped. |
| (gfc_apply_interface_mapping_to_ref): Remove seen_result and |
| all its references. Remove the inline simplification of LEN |
| and call gfc_map_intrinsic_function instead. Change the |
| order of mapping of the actual arguments and simplifying |
| intrinsic functions. Finally, if a function maps to an |
| actual argument, call gfc_map_fcn_formal_to_actual. |
| (gfc_conv_function_call): Add 'e' to the call to |
| gfc_add_interface_mapping. |
| * dump-parse-tree.c (gfc_show_symbol_n): New function for |
| diagnostic purposes. |
| * gfortran.h : Add prototype for gfc_show_symbol_n. |
| * trans.h : Add 'expr' field to gfc_add_interface_mapping. |
| Add 'expr' to prototype for gfc_show_symbol_n. |
| * resolve.c (resolve_generic_f0): Set specific function as |
| referenced. |
| |
| 2007-12-14 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34438 |
| * resolve.c (resolve_symbol): Do not emit public-variable- |
| of-private-derived-type error for non-module variables. |
| |
| 2007-12-14 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34398 |
| * expr.c (gfc_check_assign): Add range checks for assignments of BOZs. |
| * resolve.c (resolve_ordinary_assign): Ditto. |
| * arith.c (gfc_range_check): Fix return value for complex numbers. |
| |
| 2007-12-14 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/34324 |
| * module.c (parse_atom): Fixed parsing of modules files whose |
| lines are terminated by CRLF. |
| |
| 2007-12-13 Anton Korobeynikov <asl@math.spbu.ru> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): Correct decl |
| construction for select_string() and internal_unpack() |
| |
| 2007-12-13 Duncan Sands <baldrick@free.fr> |
| Anton Korobeynikov <asl@math.spbu.ru> |
| |
| * trans-expr.c (gfc_conv_structure): Make sure record constructors |
| for static variables are marked constant. |
| |
| 2007-12-12 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34254 |
| * decl.c (match_char_kind): Support use-associated/imported |
| kind parameters. |
| (gfc_match_kind_spec): Support als BT_CHARACTER, when |
| re-scanning kind spec. |
| |
| 2007-12-11 Aldy Hernandez <aldyh@redhat.com> |
| |
| * decl.c (add_global_entry): Make type unsigned. |
| |
| 2007-12-11 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * decl.c (match_prefix): Make seen_type a boolean. |
| (add_global_entry): Cache type distinction. |
| * trans-decl.c: Whitespace cleanup. |
| |
| 2007-12-10 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34425 |
| * interface.c (get_expr_storage_size): Use signed integer when |
| obtaining the bounds. |
| |
| 2007-12-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/22244 |
| * trans.h (struct array_descr_info): Forward declaration. |
| (gfc_get_array_descr_info): New prototype. |
| (enum gfc_array_kind): New type. |
| (struct lang_type): Add akind field. |
| (GFC_TYPE_ARRAY_AKIND): Define. |
| * trans-types.c: Include dwarf2out.h. |
| (gfc_build_array_type): Add akind argument. Adjust |
| gfc_get_array_type_bounds call. |
| (gfc_get_nodesc_array_type): Include proper debug info even for |
| assumed-size arrays. |
| (gfc_get_array_type_bounds): Add akind argument, set |
| GFC_TYPE_ARRAY_AKIND to it. |
| (gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type |
| callers. |
| (gfc_get_array_descr_info): New function. |
| * trans-array.c (gfc_trans_create_temp_array, |
| gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds |
| callers. |
| * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise. |
| * trans-types.h (gfc_get_array_type_bounds): Adjust prototype. |
| * Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h. |
| * f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define. |
| |
| 2007-12-09 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32129 |
| * dump-parse-tree.c (gfc_show_expr_n): New function for |
| debugging. |
| * gfortran.h : Add prototype for gfc_show_expr_n. |
| * expr.c (simplify_constructor): Copy the constructor |
| expression and try to simplify that. If success, replace the |
| original. Otherwise discard the copy, keep going through |
| the structure and return success. |
| |
| PR fortran/31487 |
| * decl.c (build_struct): Pad out default initializers with |
| spaces to the component character length. |
| |
| 2007-12-08 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34342 |
| PR fortran/34345 |
| PR fortran/18026 |
| PR fortran/29471 |
| * gfortran.texi (BOZ literal constants): Improve documentation |
| and adapt for BOZ changes. |
| * Make-lang.ini (resolve.o): Add target-memory.h dependency. |
| * gfortran.h (gfc_expr): Add is_boz flag. |
| * expr.c: Include target-memory.h. |
| (gfc_check_assign): Support transferring BOZ for real/cmlx. |
| * resolve.c: Include target-memory.h |
| (resolve_ordinary_assign): Support transferring BOZ for real/cmlx. |
| * target-memory.c (gfc_convert_boz): New function. |
| * target-memory.c (gfc_convert_boz): Add prototype. |
| * primary.c (match_boz_constant): Set is_boz, enable F95 error |
| also without -pedantic, and allow for Fortran 2003 BOZ. |
| (match_real_constant): Fix comment. |
| * simplify.c (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float, |
| gfc_simplify_real): Support Fortran 2003 BOZ. |
| |
| 2007-12-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/34359 |
| * gfortran.h (gfc_file): Remove sibling and down fields. |
| * scanner.c (file_changes, file_changes_cur, file_changes_count, |
| file_changes_allocated): New variables. |
| (add_file_change, report_file_change): New functions. |
| (change_file): Remove. |
| (gfc_start_source_files, gfc_end_source_files): Call |
| report_file_change instead of change_file. |
| (gfc_advance_line): Call report_file_change instead of change_file, |
| call it even if lb->file == lb->next->file. |
| (get_file): Revert last changes. |
| (preprocessor_line): Call add_file_change when entering or leaving |
| a file. |
| (load_file): Likewise. Set file_change[...].lb for all newly added |
| file changes. |
| |
| 2007-12-06 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34333 |
| * primary.c (match_boz_constant): Add gfc_notify_std diagnostics. |
| |
| 2007-12-06 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/34335 |
| * module.c (find_symbol): Do not return symtrees with unique |
| names, which shows that they are private. |
| |
| 2007-12-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/33739 |
| * gfortran.h (gfc_file): Remove included_by field, add sibling and |
| down. |
| (gfc_start_source_files, gfc_end_source_files): New prototypes. |
| * parse.c (gfc_parse_file): Call gfc_start_source_files and |
| gfc_end_source_files instead of calling the debugging hooks directly. |
| * error.c (show_locus): Use up field instead of included_by. |
| * scanner.c (change_file, gfc_start_source_files, |
| gfc_end_source_files): New functions. |
| (gfc_advance_line): Call change_file instead of calling debug hooks |
| directly. |
| (get_file): Set up rather than included_by. Initialize down and |
| sibling. |
| (preprocessor_line, load_file): Don't set up field here. |
| |
| 2007-12-05 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34333 |
| * arith.h (gfc_compare_expr): Add operator argument, needed |
| for compare_real. |
| * arith.c (gfc_arith_init_1): Use mpfr_min instead of mpfr_cmp/set |
| to account for NaN. |
| (compare_real): New function, as mpfr_cmp but takes NaN into account. |
| (gfc_compare_expr): Use compare_real. |
| (compare_complex): Take NaN into account. |
| (gfc_arith_eq,gfc_arith_ne,gfc_arith_gt,gfc_arith_ge,gfc_arith_lt, |
| gfc_arith_le): Pass operator to gfc_compare_expr. |
| * resolve.c (compare_cases,resolve_select): Pass operator |
| to gfc_compare_expr. |
| * simplify.c (simplify_min_max): Take NaN into account. |
| |
| 2007-12-04 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34318 |
| * module.c (mio_gmp_real): Properly write NaN and Infinity. |
| |
| 2007-12-02 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34186 |
| * symbol.c (generate_isocbinding_symbol): Fix setting string length. |
| |
| 2007-11-30 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34133 |
| * match.h: Add bool allow_binding_name to gfc_match_bind_c. |
| * decl.c (match_attr_spec,gfc_match_bind_c_stmt,gfc_match_entry): |
| Adjust accordingly. |
| (gfc_match_bind_c): Add allow_binding_name argument, reject |
| binding name for dummy arguments. |
| (gfc_match_suffix,gfc_match_subroutine): Make use of |
| allow_binding_name. |
| |
| 2007-11-30 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34186 |
| * symbol.c (generate_isocbinding_symbol): Set string length. |
| * dump-parse-tree.c (gfc_show_attr): Show BIND(C) attribute. |
| * misc.c (gfc_basic_typename): Handle BT_VOID. |
| |
| 2007-11-29 Steven G. Kargl <kargls@comcast.net> |
| |
| PR fortran/34230 |
| * fortran/arith.c (gfc_check_real_range): Set intermediate values |
| to +-Inf and 0 when -fno-range-check is in effect. |
| * fortran/invoke.texi: Improve -fno-range-check description. |
| |
| PR fortran/34203 |
| * fortran/invoke.texi: Document the C escaped characters activated |
| by -fbackslash. |
| |
| 2007-11-29 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34248 |
| * trans-decl.c (generate_dependency_declarations): Check |
| for NULL pointers before accessing the string length. |
| |
| 2007-11-29 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34262 |
| * intrinsic.c (gfc_get_intrinsic_sub_symbol): Add comment. |
| (gfc_intrinsic_sub_interface): Copy elemental state if needed. |
| * iresolve.c (gfc_resolve_mvbits): Mark procedure as elemental. |
| |
| 2007-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * trans-expr.c (gfc_trans_string_copy): Convert both dest and |
| src to void *. |
| |
| PR fortran/34247 |
| * trans-openmp.c (gfc_omp_privatize_by_reference): For REFERENCE_TYPE |
| pass by reference only PARM_DECLs or non-artificial decls. |
| |
| 2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32928 |
| * decl.c (match_data_constant): Use gfc_match_init_expr to match the |
| array spec and set the initializer expression. |
| |
| 2007-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/34227 |
| * match.c (gfc_match_common): Add additional check for BLOCK DATA. |
| |
| 2007-11-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/29389 |
| *resolve.c (resolve_ordinary_assign): Use find_sym_in_expr to |
| test if a temporary should be written for a vector subscript |
| on the lhs. |
| |
| PR fortran/33850 |
| * restore.c (pure_stmt_function): Add prototype and new |
| function. Calls impure_stmt_fcn. |
| (pure_function): Call it. |
| (impure_stmt_fcn): New function. |
| |
| * expr.c (gfc_traverse_expr): Call *func for all expression |
| types, not just variables. Add traversal of character lengths, |
| iterators and component character lengths and arrayspecs. |
| (expr_set_symbols_referenced): Return false if not a variable. |
| * trans-stmt.c (forall_replace, forall_restore): Ditto. |
| * resolve.c (forall_index): Ditto. |
| (sym_in_expr): New function. |
| (find_sym_in_expr): Rewrite to traverse expression calling |
| sym_in_expr. |
| *trans-decl.c (expr_decls): New function. |
| (generate_expr_decls): Rewrite to traverse expression calling |
| expr_decls. |
| *match.c (check_stmt_fcn): New function. |
| (recursive_stmt_fcn): Rewrite to traverse expression calling |
| check_stmt_fcn. |
| |
| 2007-11-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33541 |
| *interface.c (compare_actual_formal): Exclude assumed size |
| arrays from the possibility of scalar to array mapping. |
| * decl.c (get_proc_name): Fix whitespace problem. |
| |
| PR fortran/34231 |
| * gfortran.h : Add 'use_rename' bit to symbol_attribute. |
| * module.c : Add 'renamed' field to pointer_info.u.rsym. |
| (load_generic_interfaces): Add 'renamed' that is set after the |
| number_use_names is called. This is used to set the attribute |
| use_rename, which, in its turn identifies those symbols that |
| have not been renamed. |
| (load_needed): If pointer_info.u.rsym->renamed is set, then |
| set the use_rename attribute of the symbol. |
| (read_module): Correct an erroneous use of use_flag. Use the |
| renamed flag and the use_rename attribute to determine which |
| symbols are not renamed. |
| |
| 2007-11-26 Steven G. Kargl <kargls@comcast.net> |
| |
| PR fortran/34203 |
| * options.c: Change default behavior of backslash processing. |
| * invoke.texi: Update documentation. |
| |
| 2007-11-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33152 |
| * decl.c (add_init_expr_to_sym): Remove error message. |
| * resolve.c (check_data_variable): Add new check for a data variable |
| that has an array spec, but no ref and issue an error. |
| * match.c (gfc_match_common): Remove error message. |
| |
| 2007-11-25 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34079 |
| * trans-types.c (gfc_return_by_reference, |
| gfc_get_function_type): Do not return result of |
| character-returning bind(C) functions as argument. |
| * trans-expr.c (gfc_conv_function_call): Ditto. |
| |
| 2007-11-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/34175 |
| * gfortran.texi: Document default forms assumed for various file |
| extensions. |
| |
| 2007-11-25 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33499 |
| * decl.c (get_proc_name): If ENTRY statement occurs before type |
| specification, set the symbol untyped and ensure that it is in |
| the procedure namespace. |
| |
| 2007-11-24 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33541 |
| * module.c (find_symtree_for_symbol): Move to new location. |
| (find_symbol): New function. |
| (load_generic_interfaces): Rework completely so that symtrees |
| have the local name and symbols have the use name. Renamed |
| generic interfaces exclude the use of the interface without an |
| ONLY clause (11.3.2). |
| (read_module): Implement 11.3.2 in the same way as for generic |
| interfaces. |
| |
| 2007-11-23 Christopher D. Rickett <crickett@lanl.gov> |
| |
| * trans-common.c (build_common_decl): Fix the alignment for |
| BIND(C) common blocks. |
| |
| 2007-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/34209 |
| * iresolve.c (gfc_resolve_nearest): If sign variable kind does not match |
| kind of input variable, convert it to match. |
| |
| PR fortran/33317 |
| * trans.h: Modify prototype for gfc_conv_missing_dummy. |
| * trans-expr.c (gfc_conv_missing_dummy): Modify to pass an integer kind |
| parameter in. Set the type of the dummy to the kind given. |
| (gfc_conv_function_call): Pass representation.length to |
| gfc_conv_missing_dummy. |
| * iresolve.c (gfc_resolve_cshift): Determine the correct kind to use and |
| if appropriate set representation.length to this kind value. |
| (gfc_resolve_eoshift): Likewise. |
| * check.c (gfc_check_cshift): Enable dim_check to allow DIM as an |
| optional argument. (gfc_check_eoshift): Likewise. |
| * trans_intrinsic.c (gfc_conv_intrinsic_function_args): Update call to |
| gfc_conv_missing_dummy. |
| |
| 2007-11-23 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34187 |
| * module.c (load_needed): Ensure binding_label is not lost. |
| |
| * decl.c (set_binding_label,gfc_match_bind_c): Replace |
| strncpy by strcpy. |
| |
| 2007-11-23 Tobias Burnus <burnus@net-b.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/34192 |
| * simplify.c (gfc_simplify_nearest): Fix NEAREST for |
| subnormal numbers. |
| |
| 2007-11-23 Aldy Hernandez <aldyh@redhat.com> |
| |
| * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a |
| memset. |
| |
| 2007-11-22 Tobias Burnus <burnus@net-b.de> |
| |
| * primary.c (gfc_match_structure_constructor): Allow |
| constructor for types without components. |
| |
| 2007-11-22 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34079 |
| * trans-expr.c (gfc_conv_function_call): Do not append |
| string length arguments when calling bind(c) procedures. |
| * trans-decl.c (create_function_arglist): Do not append |
| string length arguments when declaring bind(c) procedures. |
| |
| 2007-11-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/34083 |
| * resolve.c (resolve_structure_cons): Also check for zero rank. |
| |
| 2007-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33317 |
| * trans-expr.c (gfc_conv_missing_dummy): Revert. |
| * iresolve.c (gfc_resolve_cshift): Revert. |
| (gfc_resolve_eoshift): Likewise. |
| * check.c (gfc_check_cshift): Revert. |
| (gfc_check_eoshift): Likewise. |
| |
| 2007-11-19 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34079 |
| * decl.c (gfc_match_entry): Support BIND(C). |
| (gfc_match_subroutine): Fix comment typo. |
| |
| 2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33317 |
| * trans-expr.c (gfc_conv_missing_dummy): Set the type of the dummy |
| argument to default integer if flagged to do so. Fix typo in comment. |
| * resolve.c (gfc_resolve_dim_arg): Whitespace cleanup. |
| * iresolve.c (gfc_resolve_cshift): Do not convert type, mark attribute |
| for converting the DIM type appropriately in trans-expr.c. |
| (gfc_resolve_eoshift): Likewise. |
| * check.c (dim_check): Remove pre-existing dead code. |
| (gfc_check_cshift): Enable dim_check to allow DIM as an optional. |
| (gfc_check_eoshift): Likewise. |
| * trans_intrinsic.c (gfc_conv_intrinsic_function_args): Fix whitespace. |
| |
| 2007-11-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31608 |
| * trans-array.c (gfc_conv_expr_descriptor): Remove exception |
| for indirect references in the call to gfc_trans_scalar_assign. |
| * trans-expr.c (gfc_conv_string_parameter): Instead of asserting |
| that the expression is not an indirect reference, cast it to a |
| pointer type of the length given by se->string_length. |
| |
| 2007-11-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34137 |
| * primary.c (match_variable): Reject non-result entry symbols. |
| * resolve.c (resolve_contained_fntype): Do not check entry master |
| functions. |
| |
| 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-types.c (gfc_init_types): Use wider buffer. |
| |
| 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-types.c (gfc_init_types): Use Fortran-90-style type |
| names, with kinds. |
| |
| 2007-11-17 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/34133 |
| * decl.c (gfc_match_suffix,gfc_match_subroutine): Disallow |
| bind(c) attribute for internal procedures. |
| |
| 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/25252 |
| * interface.c (gfc_current_interface_head, |
| gfc_set_current_interface_head): New functions. |
| * decl.c (gfc_match_modproc): Move check for syntax error earlier. |
| On syntax error, restore previous state of the interface. |
| * gfortran.h (gfc_current_interface_head, |
| gfc_set_current_interface_head): New prototypes. |
| |
| 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30285 |
| * module.c (struct written_common, written_commons): New structure. |
| (compare_written_commons, free_written_common, write_common_0): |
| New functions. |
| (write_common): Call recursive function write_common_0. |
| |
| 2007-11-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/34108 |
| * io.c (check_format_string): Only check character expressions. |
| (match_dt_format): Return MATCH_ERROR if that is what |
| gfc_match_st_label said. |
| |
| 2007-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33957 |
| * expr.c (check_inquiry): Don't call gfc_error now. |
| |
| 2007-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33739 |
| PR fortran/34084 |
| * scanner.c (start_source_file, end_source_file, |
| exit_remaining_files, gfc_advance_line): Revert rev. 130016. |
| |
| 2007-11-16 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/34008 |
| * trans-stmt.c (gfc_conv_elemental_dependencies): Add check for |
| INTENT_INOUT as well as INTENT_OUT. |
| (gfc_trans_call): Remove redundant gcc_asserts in dependency |
| check. |
| |
| 2007-11-16 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33986 |
| * trans-array.c (gfc_conv_array_parameter ): Allow allocatable |
| function results. |
| |
| 2007-11-15 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33917 |
| * decl.c (match_procedure_decl): Pre-resolve interface. |
| * resolve.c (resolve_symbol): Reject interfaces later |
| declared in procedure statements. |
| |
| 2007-11-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33162 |
| * decl.c (match_procedure_decl): Remove TODO and allow intrinsics in |
| PROCEDURE declarations. Set attr.untyped to allow the interface to be |
| resolved later where the symbol type will be set. |
| * interface.c (compare_intr_interfaces): Remove static from pointer |
| declarations. Add type and kind checks for dummy function arguments. |
| (compare_actual_formal_intr): New function to compare an actual |
| argument with an intrinsic function. (gfc_procedures_use): Add check for |
| interface that points to an intrinsic function, use the new function. |
| * resolve.c (resolve_specific_f0): Resolve the intrinsic interface. |
| (resolve_specific_s0): Ditto. |
| |
| 2007-11-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/34080 |
| * iresolve.c (gfc_resolve_transfer): Do not try to convert |
| to a constant MOLD expression, if it is an assumed size |
| dummy. |
| |
| 2007-11-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-common.c: Remove prototype for gfc_get_common. |
| |
| 2007-11-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33592 |
| * trans.c (gfc_call_realloc): Fix the logic and rename variables. |
| |
| 2007-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33739 |
| * scanner.c (start_source_file, end_source_file, |
| exit_remaining_files): New functions. |
| (gfc_advance_line): Use the new functions. |
| |
| 2007-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/34028 |
| * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type. |
| |
| 2007-11-08 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33917 |
| * interface.c (check_sym_interfaces): Disallow PROCEDURE-declared |
| procedures for MODULE PROCEDURE. |
| * decl.c (match_procedure_in_interface): Do not mark as procedure. |
| |
| 2007-11-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33881 |
| * trans-array.c (gfc_conv_array_parameter): Evaluate |
| se->string_length instead of the expr->ts.cl->backend_decl. |
| |
| 2007-11-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * gfortran.h: Shorten comment. |
| * trans-types.c (gfc_get_function_type): Allow argument to have |
| flavor FL_PROGRAM. |
| * trans-decl.c (gfc_sym_mangled_function_id): Mangle main program |
| name into MAIN__. |
| (build_function_decl): Fix comment. |
| * parse.c (main_program_symbol): Give the main program its proper |
| name, if any. Set its flavor to FL_PROGRAM. |
| (gfc_parse_file): Likewise. |
| |
| 2007-11-02 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * intrinsic.texi (ALLOCATED): Fix typo. |
| |
| 2007-10-31 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33941 |
| * modules.c (intrinsics): Use only alphabetic names for |
| intrinsic operators. |
| |
| 2007-10-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33162 |
| * interface.c (compare_intr_interfaces): New function to check intrinsic |
| function arguments against formal arguments. (compare_interfaces): Fix |
| logic in comparison of function and subroutine attributes. |
| (compare_parameter): Use new function for intrinsic as argument. |
| * resolve.c (resolve_actual_arglist): Allow an intrinsic without |
| function attribute to be checked further. Set function attribute if |
| intrinsic symbol is found, return FAILURE if not. |
| |
| 2007-10-31 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33897 |
| * decl.c (gfc_match_entry): Do not make ENTRY name |
| global for contained procedures. |
| * parse.c (gfc_fixup_sibling_symbols): Fix code for |
| determining whether a procedure is external. |
| |
| 2007-10-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33596 |
| * trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR |
| from the result of build_call_expr. |
| |
| 2007-10-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31217 |
| PR fortran/33811 |
| PR fortran/33686 |
| |
| * trans-array.c (gfc_conv_loop_setup): Send a complete type to |
| gfc_trans_create_temp_array if the temporary is character. |
| * trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for |
| allocate_temp_for_forall_nest. |
| (forall_replace): New function. |
| (forall_replace_symtree): New function. |
| (forall_restore): New function. |
| (forall_restore_symtree): New function. |
| (forall_make_variable_temp): New function. |
| (check_forall_dependencies): New function. |
| (cleanup_forall_symtrees): New function. |
| gfc_trans_forall_1): Add and initialize pre and post blocks. |
| Call check_forall_dependencies to check for all dependencies |
| and either trigger second forall block to copy temporary or |
| copy lval, outside the forall construct and replace all |
| dependent references. After assignment clean-up and coalesce |
| the blocks at the end of the function. |
| * gfortran.h : Add prototypes for gfc_traverse_expr and |
| find_forall_index. |
| expr.c (gfc_traverse_expr): New function to traverse expression |
| and visit all subexpressions, under control of a logical flag, |
| a symbol and an integer pointer. The slave function is caller |
| defined and is only called on EXPR_VARIABLE. |
| (expr_set_symbols_referenced): Called by above to set symbols |
| referenced. |
| (gfc_expr_set_symbols_referenced): Rework of this function to |
| use two new functions above. |
| * resolve.c (find_forall_index): Rework with gfc_traverse_expr, |
| using forall_index. |
| (forall_index): New function used by previous. |
| * dependency.c (gfc_check_dependency): Use gfc_dep_resolver for |
| all references, not just REF_ARRAY. |
| (gfc_dep_resolver): Correct the logic for substrings so that |
| overlapping arrays are handled correctly. |
| |
| 2007-10-28 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/32147 |
| * module.c (write_symbol): Fix whitespace. |
| (write_symbol0): Walk symtree from left-to-right instead |
| breadth-first. |
| (write_symbol1): Similarly change walk of pointer info tree. |
| (write_module): Insert linebreak. |
| * symbol.c (gfc_traverse_symtree): Change to left-to-right order. |
| (traverse_ns): Likewise. |
| |
| 2007-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31306 |
| * decl.c (char_len_param_value): Add check for conflicting attributes of |
| function argument. |
| |
| 2007-10-27 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33862 |
| * lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR. |
| * options.c (form_from_filename): Support .ftn extension. |
| * gfortran.texi: Document support of .for and .ftn file extension. |
| |
| 2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33162 |
| * intrinsic.h: Add prototypes for four new functions, gfc_check_datan2, |
| gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd. |
| * intrinsic.c (add_functions): Add double precision checks for dabs, |
| dacos, dacosh, dasin, dasinh, datan, datanh, datan2, dbesj0, dbesj1, |
| dbesy0, dbesy1, dcos, dcosh, ddim, derf, derfc, dexp, dgamma, |
| dlgama, dlog, dlog10, dmod, dsign, dsin, dsinh, dsqrt, dtan, and dtanh. |
| Add real check dprod. |
| * check.c (gfc_check_datan2): New function to check for double precision |
| argumants. (gfc_check_dprod, gfc_check_fn_d, and gfc_check_x_yd): Ditto. |
| |
| 2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| * invoke.texi: Fix typo in -fmax-errors=. |
| |
| 2007-10-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29784 |
| * gfortran.texi: Document that there is no logical/integer |
| conversion performed during I/O operations. |
| |
| 2007-10-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33849 |
| * resolve.c (resolve_actual_arglist): Fix error message text. |
| |
| 2007-10-22 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/31244 |
| * gfortran.h (gfc_data_value): Change repeat from unsigned int |
| to mpz_t. |
| * decl.c(top_val_list): Remove msg variable. Use mpz_t for |
| repeat count. |
| * resolve.c (values): Change left from unsigned int to mpz_t. |
| (next_data_value): Change for mpz_t. |
| (check_data_variable): Change ??? to FIXME in a comment. Use |
| "mpz_t left". |
| (resolve_data ): Use "mpz_t left". |
| |
| 2007-10-21 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33749 |
| * resolve.c (resolve_ordinary_assign): New function that takes |
| the code to resolve an assignment from resolve_code. In |
| addition, it makes a temporary of any vector index, on the |
| lhs, using gfc_get_parentheses. |
| (resolve_code): On EXEC_ASSIGN call the new function. |
| |
| 2007-10-20 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33818 |
| * resolve.c (resolve_variable): Check that symbol is in the same |
| namespace as the entry function. |
| |
| 2007-10-20 Paul Thomas <pault@gcc.gnu.org> |
| FX Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31608 |
| * trans-array.c (gfc_conv_expr_descriptor): For all except |
| indirect references, use gfc_trans_scalar_assign instead of |
| gfc_add_modify_expr. |
| * iresolve.c (check_charlen_present): Separate creation of cl |
| if necessary and add code to treat an EXPR_ARRAY. |
| (gfc_resolve_char_achar): New function. |
| (gfc_resolve_achar, gfc_resolve_char): Call it. |
| (gfc_resolve_transfer): If the MOLD expression does not have a |
| character length expression, get it from a constant length. |
| |
| 2007-10-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33544 |
| * simplify.c (gfc_simplify_transfer): Only warn for short transfer when |
| -Wsurprising is given. |
| * invoke.texi: Document revised behavior. |
| |
| 2007-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33795 |
| * gfortran.texi: Document GFORTRAN_UNBUFFERED_PRECONNECTED |
| environment variable. Delete mention of environment variable |
| GFORTRAN_UNBUFFERED_n. |
| |
| 2007-10-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33233 |
| * resolve.c (check_host_association): Check singly contained |
| namespaces and start search for symbol in current namespace. |
| |
| 2007-10-18 Paul Thomas <pault@gcc.gnu.org> |
| Dominique d'Humières <dominiq@lps.ens.fr> |
| |
| PR fortran/33733 |
| * simplify.c (gfc_simplify_transfer): Return null if the source |
| expression is EXPR_FUNCTION. |
| |
| 2007-10-17 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/33760 |
| * symbol.c (gen_special_c_interop_ptr): Remove code to create |
| constructor for c_null_ptr and c_null_funptr with value of 0. |
| * expr.c (check_init_expr): Prevent check on constructors for |
| iso_c_binding derived types. |
| * resolve.c (resolve_structure_cons): Verify that the user isn't |
| trying to invoke a structure constructor for one of the |
| iso_c_binding derived types. |
| |
| 2007-10-15 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32600 |
| * trans-expr.c (gfc_conv_function_call): Generate code to inline |
| c_associated. |
| * symbol.c (get_iso_c_sym): Preserve from_intmod and intmod_sym_id |
| attributes in the resolved symbol. |
| * resolve.c (gfc_iso_c_sub_interface): Remove dead code. |
| |
| 2007-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33055 |
| * trans-io.c (create_dummy_iostat): New function to create a unique |
| dummy variable expression to use with IOSTAT. |
| (gfc_trans_inquire): Use the new function to pass unit number error info |
| to run-time library if a regular IOSTAT variable was not given. |
| |
| 2007-10-14 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33745 |
| * trans-array.c (gfc_conv_ss_startstride): Fix dimension check. |
| (gfc_trans_array_bound_check, gfc_conv_array_ref, |
| gfc_conv_ss_startstride): Simplify error message. |
| * resolve.c (check_dimension): Fix dimension-type switch; |
| improve error message. |
| |
| 2007-10-13 Tobias Schlüter <tobi@gcc.gnu.org> |
| Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33254 |
| PR fortran/33727 |
| * trans-array.c (get_array_ctor_var_strlen): Check upper bound for |
| constness instead of lower bound. |
| (get_array_ctor_strlen): Add bounds-checking code. |
| |
| 2007-10-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33542 |
| * resolve.c (resolve_actual_arglist): If the actual argument is |
| ambiguous, then there is an error. |
| |
| 2007-10-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33664 |
| * expr.c (gfc_specification_expr): If a function is not |
| external, intrinsic or pure is an error. Set the symbol pure |
| to prevent repeat errors. |
| |
| 2007-10-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33636 |
| * expr.c (find_array_section): Check for constructor constantness. |
| |
| 2007-10-08 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/33689 |
| * resolve.c (gfc_resolve_expr): Fix indentation. |
| (resolve_fl_variable_derived): Rename argument. |
| (resolve_fl_variable): Fix case in message. Clarify logic. |
| Correctly simplify array bounds. |
| |
| 2007-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR libfortran/33683 |
| * mathbuiltins.def (GAMMA): Change function name to |
| "tgamma" instad of "gamma". |
| |
| 2007-10-07 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/20851 |
| * expr.c (check_inquiry): Typo fix in error message. |
| (check_init_expr): Same * 3. |
| (check_restricted): Verify that no dummy arguments appear in |
| restricted expressions in ELEMENTAL procedures. |
| * resolve.c (resolve_fl_variable): Exchange order of checks to |
| avoid side-effect. |
| |
| 2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33609 |
| * simplify.c (range_check): Return gfc_bad_expr if incoming expression |
| is NULL. |
| |
| 2007-10-06 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * simplify.c (gfc_simplify_size): Fix typo. |
| |
| 2007-10-06 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/25076 |
| * resolve.c (gfc_find_forall_index): Move towards top, |
| renaming to ... |
| (find_forall_index): ... this. Add check for NULL expr. |
| (resolve_forall_iterators): Verify additional constraint. |
| (resolve_forall): Remove checks obsoleted by new code in |
| resolve_forall_iterators. |
| |
| 2007-10-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * gfortran.h (gfc_get_data_variable, gfc_get_data_value, |
| gfc_get_data): Move to decl.c. |
| (global_used): Rename into gfc_global_used. |
| (gfc_formalize_init_value, gfc_get_section_index, |
| gfc_assign_data_value, gfc_assign_data_value_range, |
| gfc_advance_section): Move to data.h. |
| (gfc_set_in_match_data): Remove. |
| * decl.c (gfc_get_data_variable, gfc_get_data_value, |
| gfc_get_data): Move here. |
| (gfc_set_in_match_data): Rename into set_in_match_data. |
| (gfc_match_data): Likewise. |
| (add_global_entry): Rename global_used into gfc_global_used. |
| * data.c: Include data.h. |
| * trans.h (gfc_todo_error): Remove. |
| * trans-array.c (gfc_trans_array_constructor, |
| gfc_conv_ss_startstride, gfc_conv_loop_setup): Change |
| gfc_todo_error into assertions. |
| * resolve.c (resolve_global_procedure): Rename global_used into |
| gfc_global_used. |
| * parse.c (gfc_global_used, parse_module, add_global_procedure, |
| add_global_program): Likewise. |
| * trans-intrinsic.c (gfc_walk_intrinsic_function): Rename |
| global_used into gfc_global_used. |
| * Make-lang.in: Add dependencies on fortran/data.h. |
| * data.h: New file. |
| |
| 2007-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33529 |
| * decl.c (match_char_kind): New function. |
| (match_char_spec): Use match_char_kind. |
| |
| 2007-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33502 |
| * scanner.c (gfc_advance_line): Call debug_hooks->end_source_file |
| and debug_hooks->start_source_file when appropriate, and set |
| dbg_emitted. |
| (gfc_define_undef_line): New function. |
| (load_file): Don't error out on #define and #undef lines. |
| * parse.c (next_statement): Call gfc_define_undef_line. |
| (gfc_parse_file): Call debug_hooks->start_source_file and |
| debug_hooks->end_source_file for the main source file if |
| required. |
| * gfortran.h (gfc_linebuf): Add dbg_emitted field. |
| (gfc_define_undef_line): New prototype. |
| |
| 2007-10-04 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/33626 |
| * resolve.c (resolve_operator): Always copy the type for |
| expressions in parentheses. |
| |
| 2007-10-04 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33646 |
| PR fortran/33542 |
| * interface.c (check_interface1): Revert patch of 10-02. |
| |
| 2007-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/26682 |
| * trans-decl.c (build_function_decl): Set "externally_visible" |
| attribute on the MAIN program decl. |
| |
| 2007-10-03 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/33198 |
| * resolve.c (has_default_initializer): Move to top. Make bool. |
| (resolve_common_blocks): Simplify logic. Add case for derived |
| type initialization. |
| (resolve_fl_variable_derived): Split out from ... |
| (resolve_fl_variable): ... here, while adapting to new h_d_i |
| interface. |
| |
| 2007-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/26682 |
| * options.c (gfc_post_options): Issue an error when |
| -fwhole-program is used. |
| |
| 2007-10-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33542 |
| * interface.c (check_interface1): Specific procedures are |
| always ambiguous if they have the same name. |
| |
| 2007-10-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33566 |
| * primary.c (gfc_match_rvalue): Make all expressions with array |
| references to structure parameters into variable expressions. |
| |
| 2007-10-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33554 |
| * trans-decl.c (init_intent_out_dt): New function. |
| (gfc_trans_deferred_vars): Remove the code for default |
| initialization of INTENT(OUT) derived types and put it |
| in the new function. Call it earlier than before, so |
| that array offsets and lower bounds are available. |
| |
| 2007-10-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33550 |
| * decl.c (get_proc_name): Return rc if rc is non-zero; ie. if |
| the name is a reference to an ambiguous symbol. |
| |
| 2007-10-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31154 |
| PR fortran/31229 |
| PR fortran/33334 |
| * decl.c : Declare gfc_function_kind_locs and |
| gfc_function_type_locus. |
| (gfc_match_kind_spec): Add second argument kind_expr_only. |
| Store locus before trying to match the expression. If the |
| current state corresponds to a function declaration and there |
| is no match to the expression, read to the parenthesis, return |
| kind = -1, dump the expression and return. |
| (gfc_match_type_spec): Renamed from match_type_spec and all |
| references changed. If an interface or an external function, |
| store the locus, set kind = -1 and return. Otherwise, if kind |
| is already = -1, use gfc_find_symbol to try to find a use |
| associated or imported type. |
| match.h : Prototype for gfc_match_type_spec. |
| * parse.c (match_deferred_characteristics): New function. |
| (parse_spec): If in a function, statement is USE or IMPORT |
| or DERIVED_DECL and the function kind=-1, call |
| match_deferred_characteristics. If kind=-1 at the end of the |
| specification expressions, this is an error. |
| * parse.h : Declare external gfc_function_kind_locs and |
| gfc_function_type_locus. |
| |
| 2007-09-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * module.c (mio_expr): Avoid -Wcast-qual warning. |
| |
| 2007-09-27 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * arith.c (reduce_binary_aa): Fix capitalization. |
| * check.c (gfc_check_dot_product): Likewise. |
| (gfc_check_matmul): Likewise. |
| * expr.c (gfc_check_conformance): Likewise. |
| (gfc_check_assign): Likewise. |
| (gfc_default_initializer): Simplify logic. |
| * trans.c (gfc_msg_bounds): Make const. |
| (gfc_msg_fault): Likewise. |
| (gfc_msg_wrong_return): Likewise. |
| * trans.h: Add const to corresponding extern declarations. |
| |
| 2007-09-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33568 |
| * trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the |
| possibility of the optional KIND argument by making arg |
| an array, counting the number of arguments and using arg[0]. |
| |
| 2007-09-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30780 |
| * invoke.texi: Add note to -ffpe-trap option. Fix typos. |
| |
| 2007-09-23 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/33269 |
| * io.c (check_format_string): Move NULL and constant checks into |
| this function. |
| (check_io_constraints): Call gfc_simplify_expr() before calling |
| check_format_string(). Remove NULL and constant checks. |
| |
| 2007-09-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33538 |
| * scanner.c, parse.c, gfortran.h: Revert revision 128671. |
| |
| 2007-09-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33528 |
| * scanner.c (preprocessor_line): Call linemap_add when exiting |
| a file. |
| (gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION. |
| |
| 2007-09-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33522 |
| * trans-types.c (gfc_get_desc_dim_type): Mark artificial |
| variables with TREE_NO_WARNING. |
| (gfc_get_array_descriptor_base): Likewise. |
| |
| 2007-09-22 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33337 |
| PR fortran/33376 |
| * trans-decl.c (gfc_create_module_variable): Output |
| derived type parameters. |
| * arith.c (gfc_parentheses): Return the argument if |
| it is a constant expression. |
| * primary.c (gfc_match_rvalue): Remove the clearing of |
| the module name and the use_assoc attribute for derived |
| type parameter expressions. |
| |
| 2007-09-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33502 |
| * scanner.c (gfc_advance_line): Call debug_hooks->start_source_file |
| and debug_hooks->end_source_file when entering and exiting |
| included files. |
| (gfc_define_undef_line): New function. |
| (load_file): Ignore #define and #undef preprocessor lines |
| while reading source files. |
| * parse.c (next_statement): Handle #define and #undef |
| preprocessor lines. |
| (gfc_parse_file): Call debug_hooks->start_source_file and |
| debug_hooks->end_source_file for the main source file if |
| requested by the debug format. |
| * gfortran.h (gfc_define_undef_line): Add prototype. |
| |
| 2007-09-22 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33445 |
| * scanner.c (skip_free_comments): Warn if !$OMP& is used |
| if no OpenMP directive is to be continued. |
| |
| 2007-09-21 Paul Thomas <pault@gcc.gnu.org> |
| |
| *trans-expr.c (gfc_trans_pointer_assignment): Convert array |
| descriptor for subref pointer assignements, rather than using |
| the loop info version. |
| |
| 2007-09-21 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33037 |
| * simplify.c (gfc_simplify_transfer): Warn if source size |
| is smaller than result size. |
| |
| 2007-09-20 Asher Langton <langton2@llnl.gov> |
| |
| PR fortran/20441 |
| * gfortran.h : Add init_local_* enums and init_flag_* flags to |
| gfc_option_t. |
| * lang.opt: Add -finit-local-zero, -finit-real, -finit-integer, |
| -finit-character, and -finit-logical flags. |
| * invoke.texi: Document new options. |
| * resolve.c (build_init_assign): New function. |
| (apply_init_assign): Move part of function into build_init_assign. |
| (build_default_init_expr): Build local initializer (-finit-*). |
| (apply_default_init_local): Apply local initializer (-finit-*). |
| (resolve_fl_variable): Try to add local initializer (-finit-*). |
| * options.c (gfc_init_options, gfc_handle_option, |
| gfc_post_options): Handle -finit-local-zero, -finit-real, |
| -finit-integer, -finit-character, and -finit-logical flags. |
| |
| 2007-09-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33221 |
| * gfortran.h (symbol_attribute): Add zero_comp field. |
| * symbol.c (gfc_use_derived): Handle case of emtpy derived types. |
| * decl.c (gfc_match_data_decl): Likewise. |
| (gfc_match_derived_decl): Likewise. |
| * module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member. |
| (mio_symbol_attribute): Write and read AB_ZERO_COMP. |
| * resolve.c (resolve_symbol): Handle case of emtpy derived types. |
| * parse.c (parse_derived): Likewise. |
| |
| 2007-09-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33288 |
| * arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca, |
| reduce_binary_aa): Call ourselves recursively if an element of |
| the constructor is itself a constant array. |
| |
| 2007-09-20 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * io.c (resolve_tag_format): New function using code split out |
| and simplified from ... |
| (resolve_tag): ... this function. Simplify logic. Unify |
| IOSTAT, IOLENGTH and SIZE handling. |
| |
| 2007-09-20 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/33497 |
| * resolve.c (gfc_iso_c_func_interface): Use information from |
| subcomponent if applicable. |
| |
| 2007-09-20 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33325 |
| * intrinsic.text: Add documentation of the intrinsic modules. |
| * gfortran.texi: Link to intrinsic-modules section and to |
| the GOMP manual. |
| |
| 2007-09-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31119 |
| * trans-array.c (gfc_conv_ss_startstride): Only perform bounds |
| checking for optional args when they are present. |
| |
| 2007-09-18 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33231 |
| * resolve.c (resolve_elemental_actual): Check for conformance |
| of intent out/inout dummies. |
| |
| 2007-09-17 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33106 |
| * resolve.c (resolve_symbol): Reject public variable of |
| private derived-types for Fortran 95. |
| |
| 2007-09-17 Tobias Burnus <burnus@net-b.de> |
| |
| * resolve.c (resolve_fl_procedure): Allow private dummies |
| for Fortran 2003. |
| |
| 2007-09-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-types.c (gfc_get_desc_dim_type): Do not to try |
| emit debug info. |
| (gfc_get_array_descriptor_base): Likewise. |
| (gfc_get_mixed_entry_union): Likewise |
| (gfc_get_derived_type): Set decl location for fields and |
| derived type itself. |
| |
| 2007-09-16 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/29396 |
| PR fortran/29606 |
| PR fortran/30625 |
| PR fortran/30871 |
| * trans.h : Add extra argument to gfc_build_array_ref. Rename |
| gfc_conv_aliased_arg to gfc_conv_subref_array_arg. Move |
| prototype of is_aliased_array to gfortran.h and rename it |
| gfc_is_subref_array. Add field span to lang_decl, add a new |
| decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P |
| and a new type flag GFC_DECL_SUBREF_ARRAY_P. |
| * trans.c (gfc_build_array_ref): Add the new argument, decl. |
| If this is a subreference array pointer, use the lang_decl |
| field 'span' to calculate the offset in bytes and use pointer |
| arithmetic to address the element. |
| * trans-array.c (gfc_conv_scalarized_array_ref, |
| gfc_conv_array_ref): Add the backend declaration as the third |
| field, if it is likely to be a subreference array pointer. |
| (gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element, |
| gfc_trans_array_constructor_element, structure_alloc_comps, |
| gfc_conv_array_index_offset): For all other references to |
| gfc_build_array_ref, set the third argument to NULL. |
| (gfc_get_dataptr_offset): New function. |
| (gfc_conv_expr_descriptor): If the rhs of a pointer assignment |
| is a subreference array, then calculate the offset to the |
| subreference of the first element and set the descriptor data |
| pointer to this, using gfc_get_dataptr_offset. |
| trans-expr.c (gfc_get_expr_charlen): Use the expression for the |
| character length for a character subreference. |
| (gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for |
| third argument in call to gfc_build_array_ref. |
| (gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg. |
| (is_aliased_array): Remove. |
| (gfc_conv_function_call): Change reference to is_aliased_array |
| to gfc_is_subref_array and reference to gfc_conv_aliased_arg to |
| gfc_conv_subref_array_arg. |
| (gfc_trans_pointer_assignment): Add the array element length to |
| the lang_decl 'span' field. |
| * gfortran.h : Add subref_array_pointer to symbol_attribute and |
| add the prototype for gfc_is_subref_array. |
| * trans-stmt.c : Add NULL for third argument in all references |
| to gfc_build_array_ref. |
| * expr.c (gfc_is_subref_array): Renamed is_aliased_array. |
| If this is a subreference array pointer, return true. |
| (gfc_check_pointer_assign): If the rhs is a subreference array, |
| set the lhs subreference_array_pointer attribute. |
| * trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl |
| field if the symbol is a subreference array pointer and set an |
| initial value of zero for the 'span' field. |
| * trans-io.c (set_internal_unit): Refer to is_subref_array and |
| gfc_conv_subref_array_arg. |
| (nml_get_addr_expr): Add NULL third argument to |
| gfc_build_array_ref. |
| (gfc_trans_transfer): Use the scalarizer for a subreference |
| array. |
| |
| 2007-09-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * iresolve.c (resolve_mask_arg): If a mask is an array |
| expression, convert it to kind=1. |
| |
| 2007-09-13 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33343 |
| * expr.c (gfc_check_conformance): Print ranks in the error message. |
| * resolve.c (resolve_elemental_actual): Check also conformance of |
| the actual arguments for elemental functions. |
| |
| 2007-09-13 Tobias Burnus <burnus@net-b.de> |
| |
| * symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive): |
| Allow prefixes only to be specified once. |
| |
| 2007-09-13 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33412 |
| * symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C). |
| |
| 2007-09-12 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33297 |
| * check.c (scalar_check): Move up in the file. |
| (kind_check): Call scalar_check. |
| (dim_check): If optional, do not call nonoptional_check; use |
| bool for optional. |
| (gfc_check_all_any,gfc_check_count,gfc_check_cshift,gfc_check_eoshift, |
| gfc_check_lbound,gfc_check_minloc_maxloc,check_reduction, |
| gfc_check_spread,gfc_check_ubound): Use true/false instead of 0/1 |
| for dim_check; honor changed meaning of optional. |
| (gfc_check_int): Replace checks by kind_check. |
| (gfc_check_size): Replace checks by dim_check. |
| |
| 2007-09-12 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33284 |
| PR fortran/33310 |
| * symbol.c (check_conflict): Add conflict between INTRINSIC and ENTRY |
| and between BIND(C) and PARAMETER. |
| |
| 2007-09-12 Tobias Burnus <burnus@net-b.de> |
| |
| * trans-expr.c (gfc_conv_initializer): Fix expr == NULL check. |
| |
| 2007-09-12 Jan Hubicka <jh@suse.cz> |
| |
| * f95-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. |
| |
| 2007-09-12 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/33395 |
| * trans-expr.c (gfc_conv_initializer): Remove unnecessary test for |
| intmod_sym_id and use derived symbol to set new kind of C_NULL_PTR |
| and C_NULL_FUNPTR expressions. |
| |
| 2007-09-11 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/33040 |
| * trans-expr.c (gfc_trans_structure_assign): Convert component |
| C_NULL_PTR and C_NULL_FUNPTR component initializers to (void *). |
| * trans-types.c (gfc_get_derived_type): Create a backend_decl for |
| the c_address field of C_PTR and C_FUNPTR and ensure initializer |
| is of proper type/kind for (void *). |
| |
| 2007-09-11 Jan Hubicka <jh@suse.cz> |
| |
| * f95-lang.c (gfc_expand_function): Kill. |
| (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. |
| |
| 2007-09-08 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/31547 |
| * gfortran.texi: Document when CPP is called. |
| |
| * intrinsic.texi (IOR): Fix typos. |
| |
| 2007-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/33370 |
| * trans-expr.c (copyable_array_p): Add tests that expression |
| is a variable, that it has no subreferences and that it is a |
| full array. |
| (gfc_trans_assignment): Change conditions to suit modifications |
| to copyable_array_p. |
| |
| 2007-09-06 Tom Tromey <tromey@redhat.com> |
| |
| * scanner.c (get_file): Update. |
| (load_file): Update. |
| (gfc_next_char_literal): Use gfc_linebuf_linenum. |
| * f95-lang.c (gfc_init): Update. |
| * gfortran.h (gfc_linebuf_linenum): New macro. |
| |
| 2007-09-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * trans-decl.c (build_entry_thunks): Use set_cfun. |
| (gfc_generate_function_code): Likewise. |
| |
| 2007-09-05 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31564 |
| * primary.c (gfc_match_rvalue): Make expressions that refer |
| to derived type parameters that have array references into |
| variable expressions. Remove references to use association |
| from the symbol. |
| |
| PR fortran/33241 |
| * decl.c (add_init_expr_to_sym): Provide assumed character |
| length parameters with the length of the initialization |
| expression, if a constant, or that of the first element of |
| an array. |
| |
| 2007-09-04 Janus Weil <jaydub66@gmail.com> |
| Paul Thomas <pault@gcc.gnu.org> |
| |
| * decl.c (match_procedure_decl,match_procedure_in_interface, |
| gfc_match_procedure): Handle PROCEDURE statements. |
| * gfortran.h (struct gfc_symbol): New member "gfc_symbol *interface". |
| (enum gfc_statement): New element "ST_PROCEDURE". |
| (strcut symbol_attribute): New member "unsigned procedure". |
| * interface.c (check_interface0): Extended error checking. |
| * match.h: Add gfc_match_procedure prototype. |
| * parse.c (decode_statement,next_statement,gfc_ascii_statement, |
| parse_derived,parse_interface): Implement PROCEDURE statements. |
| * resolve.c (resolve_symbol): Ditto. |
| * symbol.c (check_conflict): Ditto. |
| (gfc_add_proc): New function for setting the procedure attribute. |
| (copy_formal_args): New function for copying formal argument lists. |
| |
| 2007-09-03 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * Make-lang.in (gfortranspec.o): Remove SHLIB_MULTILIB. |
| |
| 2007-09-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gfortranspec.c (lang_specific_driver): Use CONST_CAST2. |
| * options.c (gfc_post_options): Supply a TYPE for CONST_CAST. |
| * parse.c (parse_omp_structured_block): Likewise, |
| * st.c (gfc_free_statement): Likewise, |
| |
| 2007-09-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31675 |
| * libgfortran.h: New file. |
| * iso-fortran-env.def: Use macros in the new header instead of |
| hardcoded integer constants. |
| * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add |
| fortran/libgfortran.h. |
| * gfortran.h (GFC_STD_*, GFC_FPE_*, options_convert, |
| ioerror_codes): Remove. |
| * trans.c (ERROR_ALLOCATION): Remove. |
| (gfc_call_malloc, gfc_allocate_with_status, |
| gfc_allocate_array_with_status): Use LIBERROR_ALLOCATION. |
| * trans-types.h (GFC_DTYPE_*): Remove. |
| * trans-decl.c (gfc_generate_function_code): Use |
| GFC_CONVERT_NATIVE instead of CONVERT_NATIVE. |
| * trans-io.c (set_parameter_value, set_parameter_ref): Use |
| LIBERROR_* macros instead of IOERROR_ macros. |
| * trans-intrinsic.c (gfc_conv_intrinsic_function): Use |
| LIBERROR_END and LIBERROR_EOR instead of hardcoded constants. |
| * options.c (gfc_init_options): Use GFC_CONVERT_NATIVE instead of |
| CONVERT_NATIVE. |
| (gfc_handle_option): Use GFC_CONVERT_* macros instead of CONVERT_*. |
| |
| 2007-09-02 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| * invoke.texi: Fix the -frange-checking option entry. |
| |
| 2007-09-02 Roger Sayle <roger@eyesopen.com> |
| |
| * decl.c (match_string_p): New helper function to explicitly match |
| a string of characters. |
| (match_attr_spec): Remove no longer needed DECL_COLON from decl_types. |
| Delete decls array and peek_char. Rewrite decl attribute parser to |
| avoid calling gfc_match_strings. |
| * match.c (gfc_match_strings): Delete unused function. |
| * match.h (gfc_match_strings): Delete prototype. |
| |
| 2007-09-02 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * dump-parse-tree.c (show_char_const): New function. |
| (gfc_show_expr): Use it. |
| * expr.c (find_substring_ref): Rework to not keep characters |
| dangling beyond end of string. |
| |
| 2007-09-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR fortran/33276 |
| * array.c (expand_iterator): Initialize frame.prev. |
| |
| 2007-08-31 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33232 |
| * io.c (match_io): Also diagnose extra comma for READ. |
| |
| 2007-08-31 Joseph Myers <joseph@codesourcery.com> |
| |
| * intrinsic.texi (LGAMMA): Remove empty @cindex line. |
| |
| 2007-08-31 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31879 |
| PR fortran/31197 |
| PR fortran/31258 |
| PR fortran/32703 |
| * gfortran.h : Add prototype for gfc_resolve_substring_charlen. |
| * resolve.c (gfc_resolve_substring_charlen): New function. |
| (resolve_ref): Call gfc_resolve_substring_charlen. |
| (gfc_resolve_character_operator): New function. |
| (gfc_resolve_expr): Call the new functions in cases where the |
| character length is missing. |
| * iresolve.c (cshift, eoshift, merge, pack, reshape, spread, |
| transpose, unpack): Call gfc_resolve_substring_charlen for |
| source expressions that are character and have a reference. |
| * trans.h (gfc_trans_init_string_length) Change name to |
| gfc_conv_string_length; modify references in trans-expr.c, |
| trans-array.c and trans-decl.c. |
| * trans-expr.c (gfc_trans_string_length): Handle case of no |
| backend_decl. |
| (gfc_conv_aliased_arg): Remove code for treating substrings |
| and replace with call to gfc_trans_string_length. |
| * trans-array.c (gfc_conv_expr_descriptor): Remove code for |
| treating strings and call gfc_trans_string_length instead. |
| |
| 2007-08-30 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33228 |
| * interface.c (check_interface0): Improve error for external procs. |
| (check_sym_interfaces): Fix checking of module procedures. |
| |
| 2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32989 |
| * iresolve.c (gfc_resolve_getarg): Handle non-default integer |
| kinds. |
| * check.c (gfc_check_getarg): New function |
| * intrinsic.h: Add prototype for gfc_check_getarg. |
| * intrinsic.c (add_subroutines): Add reference to gfc_check_getarg. |
| * intrinsic.texi (GETARG): Adjust documentation. |
| |
| 2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| Tobias Burnus <burnus@gcc.gnu.org> |
| |
| PR fortran/33105 |
| * intrinsic.c (add_functions): Add IS_IOSTAT_END and |
| IS_IOSTAT_EOR intrinsics. |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_IOSTAT_END and |
| GFC_ISYM_IS_IOSTAT_EOR. |
| * trans-intrinsic.c (gfc_conv_has_intvalue): New function. |
| (gfc_conv_intrinsic_function): Call gfc_conv_has_intvalue for |
| GFC_ISYM_IS_IOSTAT_END and GFC_ISYM_IS_IOSTAT_EOR. |
| * intrinsic.texi: Add IS_IOSTAT_END and IS_IOSTAT_EOR. |
| |
| 2007-08-28 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/33215 |
| * decl.c (build_sym): Pass number of identifiers on line to |
| set_binding_label. |
| (set_binding_label): Verify that only one identifier given if |
| NAME= specified, even if the given binding label has zero length. |
| (gfc_match_bind_c): Remove declaration for has_name_equals because |
| it hides the static global one that is needed. |
| |
| 2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-array.c (gfc_grow_array): Use gfc_call_realloc. |
| (gfc_array_allocate): Use gfc_allocate_with_status and |
| gfc_allocate_array_with_status. |
| (gfc_array_deallocate): Use gfc_deallocate_with_status. |
| (gfc_trans_dealloc_allocated): Use gfc_deallocate_with_status. |
| * trans-stmt.c (gfc_trans_allocate): Use gfc_allocate_with_status. |
| (gfc_trans_deallocate): Use gfc_deallocate_with_status. |
| * trans.c (gfc_allocate_with_status, gfc_allocate_array_with_status, |
| gfc_deallocate_with_status, gfc_call_realloc): New functions. |
| * trans.h (gfc_allocate_with_status, gfc_allocate_array_with_status, |
| gfc_deallocate_with_status, gfc_call_realloc): New prototypes. |
| (gfor_fndecl_internal_realloc, gfor_fndecl_allocate, |
| gfor_fndecl_allocate_array, gfor_fndecl_deallocate): Remove. |
| * f95-lang.c (gfc_init_builtin_functions): Create decl for |
| BUILT_IN_REALLOC. |
| * trans-decl.c (gfor_fndecl_internal_realloc, |
| gfor_fndecl_allocate, gfor_fndecl_allocate_array, |
| gfor_fndecl_deallocate): Remove function decls. |
| (gfc_build_builtin_function_decls): Likewise. |
| |
| 2007-08-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33055 |
| Revert previous patch. |
| |
| 2007-08-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/22244 |
| * Make-lang.in (fortran/trans-types.o): Depend on $(FLAGS_H). |
| * trans-types.c: Include flags.h. |
| (gfc_get_nodesc_array_type): Add TYPE_DECL TYPE_NAME with |
| correct bounds and dimensions for packed arrays. |
| |
| 2007-08-27 Tobias Burnus <burnus@net-b.de> |
| |
| * simplify.c (gfc_simplify_lgamma): Fix mpfr_lgamma call. |
| |
| 2007-08-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/33055 |
| * trans-io.c (create_dummy_iostat): New function to create a unique |
| dummy variable expression to use with IOSTAT. |
| (gfc_trans_inquire): Use the new function to pass unit number error info |
| to run-time library if a regular IOSTAT variable was not given. |
| |
| 2007-08-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_GAMMA and |
| GFC_ISYM_LGAMMA. |
| |
| 2007-08-26 Asher Langton <langton2@llnl.gov> |
| Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_option_t): Add flag_recursive. |
| * lang.opt: Add -frecursive option and update -fopenmp. |
| * invoke.texi (-frecursive): Document new option. |
| (-fopenmp,-fno-automatic,-fmax-stack-var-size): Update. |
| * options.c (gfc_init_options, gfc_post_options, |
| gfc_handle_option): Add -frecursive and modify -fopenmp. |
| (gfc_post_options): Add warning for conflicting flags. |
| |
| 2007-08-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/31298 |
| * module.c (mio_symbol_ref,mio_interface_rest): Return pointer_info. |
| (load_operator_interfaces): Support multible loading of an operator. |
| |
| 2007-08-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32985 |
| * match.c (gfc_match_common): Remove SEQUENCE diagnostics. |
| * resolve.c (resolve_common_blocks): Add SEQUENCE diagnostics; |
| fix walking through the tree. |
| |
| 2007-08-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32980 |
| * intrinsic.h (gfc_simplify_gamma,gfc_simplify_lgamma, |
| gfc_resolve_gamma,gfc_resolve_lgamma): New function declations. |
| * mathbuiltins.def: Define GAMMA and LGAMMA. |
| * intrinsic.c (add_functions): Add GAMMA, DGAMMA, LGAMMA, ALGAMA |
| and DLGAMA. |
| * simplify.c (gfc_simplify_gamma,gfc_simplify_lgamma): New functions. |
| * iresolve.c (gfc_resolve_gamma,gfc_resolve_lgamma): New functions. |
| * intrinsic.texi: Add documentation for GAMMA and LGAMMA. |
| |
| 2007-08-26 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33188 |
| * parse.c (parse_derived): Support empty derived type |
| definitions for Fortran 2003. |
| |
| 2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * trans-openmp.c (gfc_omp_privatize_by_reference): Constify. |
| * trans.h (gfc_omp_privatize_by_reference): Likewise. |
| |
| 2007-08-24 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33178 |
| * intrinsic.c (gfc_intrinsic_func_interface): Fix initialization |
| expression check. |
| |
| 2007-08-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/32972 |
| * iresolve.c: Don't convert array masks. |
| |
| 2007-08-24 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33139 |
| * trans-array.c (gfc_conv_expr_descriptor): Copy bounds for |
| whole-array pointer assignments. |
| |
| 2007-08-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * decl.c (variable_decl): Don't share charlen structs if |
| length == NULL. |
| * trans-decl.c (create_function_arglist): Assert |
| f->sym->ts.cl->backend_decl is NULL instead of unsharing |
| charlen struct here. |
| |
| 2007-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33095 |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Remove |
| runtime error checking. |
| |
| 2007-08-22 Roger Sayle <roger@eyesopen.com> |
| Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * match.c (intrinsic_operators): Delete. |
| (gfc_match_intrinsic_op): Rewrite matcher to avoid calling |
| gfc_match_strings. |
| |
| 2007-08-22 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/33020 |
| * resolve.c (gfc_iso_c_sub_interface): Remove setting of type and |
| kind for optional SHAPE parameter of C_F_POINTER. |
| |
| 2007-08-22 Janus Weil <jaydub66@gmail.com> |
| |
| * decl.c (match_attr_spec): Pass on errors from gfc_match_bind_c. |
| (gfc_match_bind_c): Bugfix in check for NAME= with abstract interfaces. |
| (gfc_match_mopdproc): Bugfix to reject module procedures in |
| abstract interfaces. |
| |
| 2007-08-22 Kai Tietz <kai.tietz@onevision.com> |
| |
| * f95-lang.c: (gfc_init_decl_processing): Choose sizetype by using |
| Pmode. |
| |
| 2007-08-21 Paul Brook <paul@codesourcery.com> |
| Nathan Sidwell <nathan@codesourcery.com> |
| Mark Mitchell <mark@codesourcery.com> |
| Joseph Myers <joseph@codesourcery.com> |
| |
| * gfortranspec.c (lang_specific_driver): Use pkgversion_string. |
| * Make-lang.in (gfortran.pod): Define BUGURL. |
| * invoke.texi: Use BUGURL for bug-reporting instructions. |
| |
| 2007-08-19 Roger Sayle <roger@eyesopen.com> |
| |
| * match.c (intrinsic_operators): Make static. |
| (gfc_op2string): New function for converting a gfc_intrinsic_op to |
| to a "const char*", replacing the macro of the same name. |
| * gfortran.h (intrinsic_operators): Delete prototype. |
| (gfc_op2string): Replace macro with function prototype. |
| |
| 2007-08-18 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.h (gfc_is_intrinsic_typename): Add declaration. |
| * symbol.c (gfc_is_intrinsic_typename): New function. |
| * parse.c (decode_statement): Check for space in ABSTRACT INTERFACE. |
| (parse_interface): Use gfc_is_intrinsic_typename. |
| * decl.c (gfc_match_derived_decl): Ditto. |
| * module.c (gfc_match_use): Use gcc_unreachable() for |
| INTERFACE_ABSTRACT in switch(). |
| |
| 2007-08-18 Roger Sayle <roger@eyesopen.com> |
| |
| * primary.c (match_logical_constant_string): New function to match |
| a ".true." or a ".false.". |
| (match_logical_constant): Use it instead of gfc_match_strings. |
| |
| 2007-08-18 Paul Thomas <pault@gcc.gnu.org> |
| Janus Weil <jaydub66@gmail.com> |
| |
| * interface.c (gfc_match_interface,gfc_match_abstract_interface, |
| gfc_match_end_interface,gfc_add_interface): Add abstract interface. |
| * dump-parse-tree.c (gfc_show_attr): Ditto. |
| * gfortran.h (interface_type,symbol_attribute): Ditto. |
| * module.c (gfc_match_use,ab_attribute,attr_bits, |
| mio_symbol_attribute): Ditto. |
| * resolve.c (resolve_function): Ditto. |
| * match.h: Ditto. |
| * parse.c (decode_statement): Ditto. |
| (parse_interface): Ditto, check for C1203 (name of abstract interface |
| cannot be the same as an intrinsic type). |
| * decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces. |
| (access_attr_decl): Handle Abstract interfaces. |
| |
| 2007-08-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32881 |
| * expr.c (gfc_check_pointer_assign): If the rhs is the |
| initialization expression for the rhs, there is no error. |
| |
| 2007-08-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32875 |
| * trans-array.c (get_array_ctor_strlen): Set the character |
| length of a zero length array to zero. |
| |
| 2007-08-16 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33072 |
| * module.c (gfc_match_use): Mark user operators as such. |
| (find_use_name_n): Distinguish between operators and other symbols. |
| (find_use_name,number_use_names,mio_namelist, |
| load_operator_interfaces,load_generic_interfaces,read_module, |
| write_generic): Update find_use_name_n calls. |
| |
| 2007-08-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29459 |
| * trans.c (gfc_create_var_np): Do not emit warnings for |
| anonymous variables. |
| |
| 2007-08-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33066 |
| * decl.c (gfc_get_type_attr_spec): Fix whitespace. |
| (gfc_match_derived_decl): Fix logic. |
| |
| 2007-08-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/33073 |
| * trans-intrinsic.c (build_fixbound_expr): Convert to result type |
| in all cases. |
| |
| 2007-08-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32594 |
| * trans-expr.c (gfc_conv_substring_expr): Only call |
| gfc_conv_substring if expr->ref is not NULL. |
| * expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring |
| expression might be a constant. |
| (gfc_simplify_expr): Handle missing start and end, as well as |
| missing ref. |
| |
| 2007-08-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32926 |
| * match.c (gfc_match_call): Do not create a new symtree in the |
| case where the existing symbol is external and not referenced. |
| |
| 2007-08-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32827 |
| * decl.c (variable_decl): Check for an imported symbol |
| by looking for its symtree and testing for the imported |
| attribute. |
| (gfc_match_import): Remove change of symbol's namespace |
| and set the attribute imported instead. |
| * symbol.c (gfc_get_sym_tree): It is not an error if a |
| symbol is imported. |
| * gfortran.h : Add the 'imported' to symbol_attribute. |
| |
| 2007-08-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32962 |
| * trans-array.c (gfc_conv_array_transpose): Set the offset |
| of the destination to zero if the loop is zero based. |
| |
| 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29600 |
| * intrinsic.c (add_functions): Add optional KIND argument to ACHAR. |
| * iresolve.c (gfc_resolve_achar): Handle the KIND argument. |
| * check.c (gfc_check_achar): Check for the optional KIND argument. |
| * simplify.c (gfc_simplify_achar): Use KIND argument. |
| * intrinsic.h (gfc_check_achar, gfc_simplify_achar, |
| gfc_resolve_achar): Adjust prototypes. |
| |
| 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30964 |
| PR fortran/33054 |
| * trans-expr.c (gfc_conv_function_call): When no formal argument |
| list is available, we still substitute missing optional arguments. |
| * check.c (gfc_check_random_seed): Correct the check on the |
| number of arguments to RANDOM_SEED. |
| * intrinsic.c (add_subroutines): Add a resolution function to |
| RANDOM_SEED. |
| * iresolve.c (gfc_resolve_random_seed): New function. |
| * intrinsic.h (gfc_resolve_random_seed): New prototype. |
| |
| 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32860 |
| * error.c (error_uinteger): New function. |
| (error_integer): Call error_uinteger. |
| (error_print): Handle %u, %lu, %li and %ld format specifiers. |
| * interface.c (compare_actual_formal): Use the new %lu specifier. |
| |
| 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31629 |
| * lang.opt (-fmodule-private): New option. |
| * gfortran.h (gfc_option_t): Add flag_module_private member. |
| * invoke.texi (-fmodule-private): Document the new option. |
| * module.c (gfc_check_access): Allow the -fmodule-private option |
| to modify the default behaviour. |
| * options.c (gfc_init_options): Initialize flag_module_private. |
| (gfc_handle_option): Handle -fmodule-private. |
| |
| 2007-08-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29600 |
| * intrinsic.c (add_functions): Add KIND arguments to COUNT, |
| IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND |
| and VERIFY. |
| * iresolve.c (gfc_resolve_count): Add kind argument. |
| (gfc_resolve_iachar): New function. |
| (gfc_resolve_ichar): Add kind argument. |
| (gfc_resolve_index_func): Likewise. |
| (gfc_resolve_lbound): Likewise. |
| (gfc_resolve_len): Likewise. |
| (gfc_resolve_len_trim): Likewise. |
| (gfc_resolve_scan): Likewise. |
| (gfc_resolve_size): New function. |
| (gfc_resolve_ubound): Add kind argument. |
| (gfc_resolve_verify): Likewise. |
| * trans-decl.c (gfc_get_extern_function_decl): Allow specific |
| intrinsics to have 4 arguments. |
| * check.c (gfc_check_count): Add kind argument. |
| (gfc_check_ichar_iachar): Likewise. |
| (gfc_check_index): Likewise. |
| (gfc_check_lbound): Likewise. |
| (gfc_check_len_lentrim): New function. |
| (gfc_check_scan): Add kind argument. |
| (gfc_check_size): Likewise. |
| (gfc_check_ubound): Likewise. |
| (gfc_check_verify): Likewise. |
| * intrinsic.texi: Update documentation for COUNT, IACHAR, ICHAR, |
| INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND and VERIFY. |
| * simplify.c (get_kind): Whitespace fix. |
| (int_expr_with_kind): New function. |
| (gfc_simplify_iachar): Add kind argument. |
| (gfc_simplify_iachar): Likewise. |
| (gfc_simplify_ichar): Likewise. |
| (gfc_simplify_index): Likewise. |
| (simplify_bound_dim): Likewise. |
| (simplify_bound): Likewise. |
| (gfc_simplify_lbound): Likewise. |
| (gfc_simplify_len): Likewise. |
| (gfc_simplify_len_trim): Likewise. |
| (gfc_simplify_scan): Likewise. |
| (gfc_simplify_shape): Pass NULL as kind argument to gfc_simplify_size. |
| (gfc_simplify_size): Add kind argument. |
| (gfc_simplify_ubound): Likewise. |
| (gfc_simplify_verify): Likewise. |
| * intrinsic.h: Update prototypes and add new ones. |
| * trans-intrinsic.c (gfc_conv_intrinsic_index): Rename into |
| gfc_conv_intrinsic_index_scan_verify. |
| (gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove. |
| (gfc_conv_intrinsic_function): Call |
| gfc_conv_intrinsic_index_scan_verify to translate the INDEX, |
| SCAN and VERIFY intrinsics. |
| |
| 2007-08-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31189 |
| * invoke.texi (-fbacktrace): Document the new behaviour. |
| |
| 2007-08-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32937 |
| * trans-array.c (gfc_conv_expr_descriptor): Use |
| gfc_conv_const_charlen to generate backend_decl of right type. |
| * trans-expr.c (gfc_conv_expr_op): Use correct return type. |
| (gfc_build_compare_string): Use int type instead of default |
| integer kind for single character comparison. |
| (gfc_conv_aliased_arg): Give backend_decl the right type. |
| * trans-decl.c (gfc_build_intrinsic_function_decls): Make |
| compare_string return an int. |
| |
| 2007-08-11 Ian Lance Taylor <iant@google.com> |
| |
| * f95-lang.c (gfc_get_alias_set): Change return type to |
| alias_set_type. |
| |
| 2007-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31270 |
| * trans.c (gfc_trans_runtime_check): Reorder arguments and |
| add extra variable arguments. Hand them to the library function. |
| * trans.h (gfc_trans_runtime_check): Update prototype. |
| * trans-array.c (gfc_trans_array_bound_check): Issue more |
| detailled error messages. |
| (gfc_conv_array_ref): Likewise. |
| (gfc_conv_ss_startstride): Likewise. |
| (gfc_trans_dummy_array_bias): Reorder arguments to |
| gfc_trans_runtime_check. |
| * trans-expr.c (gfc_conv_substring): Issue more detailled |
| error messages. |
| (gfc_conv_function_call): Reorder arguments to gfc_trans_runtime_check. |
| * trans-stmt.c (gfc_trans_goto): Likewise. |
| * trans-io.c (set_string): Reorder arguments to |
| gfc_trans_runtime_check and issue a more detailled error message. |
| * trans-decl.c (gfc_build_builtin_function_decls): Make |
| runtime_error and runtime_error_at handle a variable number of |
| arguments. |
| * trans-intrinsic.c (gfc_conv_intrinsic_bound): Reorder arguments |
| to gfc_trans_runtime_check. |
| (gfc_conv_intrinsic_minmax): Likewise. |
| (gfc_conv_intrinsic_repeat): Issue more detailled error messages. |
| |
| 2007-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gfortranspec.c (lang_specific_driver): Use CONST_CAST. |
| * options.c (gfc_post_options): Likewise. |
| * parse.c (parse_omp_structured_block): Likewise. |
| * st.c (gfc_free_statement): Likewise. |
| |
| 2007-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32933 |
| * trans-decl.c (gfc_build_builtin_function_decls): Change |
| prototype for associated. |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Convert the |
| result of __builtin_isnan into a boolean. |
| (gfc_conv_intrinsic_strcmp): Cleanup. |
| (gfc_conv_associated): Convert the result of the associated |
| function into a boolean. |
| |
| 2007-08-09 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32987 |
| * io.c (format_token): Add FMT_ERROR. |
| (next_char_not_space): Print error/warning when |
| '\t' are used in format specifications. |
| (format_lex): Propagate error. |
| (check_format): Ditto. |
| |
| 2007-08-09 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/33001 |
| * arith.c (arith_error): Point in the error message |
| to -fno-range-check. |
| |
| 2007-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32902 |
| * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T. |
| |
| 2007-08-06 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32732 |
| * trans-expr.c (gfc_conv_scalar_char_value): Convert the tree and |
| actual arg expressions for scalar characters passed by-value to |
| bind(c) routines. |
| (gfc_conv_function_call): Call gfc_conv_scalar_char_value. |
| * trans.h: Add prototype for gfc_conv_scalar_char_value. |
| * trans-decl.c (generate_local_decl): Convert by-value character |
| dummy args of bind(c) procedures using |
| gfc_conv_scalar_char_value. |
| |
| 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30947 |
| * iresolve.c (gfc_resolve_alarm_sub): Suffix the subroutine name |
| with the kind of the STATUS argument. |
| |
| 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30948 |
| * intrinsic.c (add_functions): Fix name of argument to CHDIR. |
| |
| 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30933 |
| * iresolve.c (gfc_resolve_exit): Convert argument to default |
| integer kind. |
| |
| 2007-08-06 Daniel Franke <franke.daniel@gmail.com> |
| |
| * resolve.c (derived_pointer): Removed, replaced callers by access |
| to appropiate attribute bit. |
| (derived_inaccessable): Shortcut recursion depth. |
| (resolve_fl_namelist): Fixed checks for private components in namelists. |
| |
| 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29828 |
| * trans.h (gfor_fndecl_string_minmax): New prototype. |
| * trans-decl.c (gfor_fndecl_string_minmax): New variable. |
| (gfc_build_intrinsic_function_decls): Create gfor_fndecl_string_minmax. |
| * check.c (gfc_check_min_max): Allow for character arguments. |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): New function. |
| (gfc_conv_intrinsic_function): Add special case for MIN and MAX |
| intrinsics with character arguments. |
| * simplify.c (simplify_min_max): Add simplification for character |
| arguments. |
| |
| 2007-08-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31612 |
| * invoke.texi: Adjust documentation for option -fsyntax-only. |
| |
| 2007-08-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| Tobias Burnus <burnus@gcc.gnu.org> |
| |
| PR fortran/32979 |
| * intrinsic.h (gfc_check_isnan): Add prototype. |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN. |
| * intrinsic.c (add_functions): Add ISNAN intrinsic. |
| * check.c (gfc_check_isnan): New function. |
| * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function. |
| (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan |
| to translate ISNAN. |
| * intrinsic.texi: Document ISNAN. |
| |
| 2007-08-04 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31214 |
| * symbol.c (get_unique_symtree): Moved from module.c. |
| * module.c (get_unique_symtree): Moved to symbol.c. |
| * decl.c (get_proc_name): Transfer the typespec from the local |
| symbol to the module symbol, in the case that an entry is also |
| a module procedure. Ensure the local symbol is cleaned up by |
| pointing to it with a unique symtree. |
| |
| * dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL. |
| |
| 2007-08-04 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/32969 |
| * iresolve.c (gfc_resolve_rrspacing): Convert argument(s) to |
| expected KIND. |
| (gfc_resolve_scale): Ditto. |
| (gfc_resolve_set_exponent): Ditto. |
| (gfc_resolve_spacing): Ditto. |
| |
| PR fortran/32968 |
| * trans-intrinsic.c (gfc_conv_intrinsic_si_kind, |
| gfc_conv_intrinsic_sr_kind): Convert the argument(s) to the |
| expected KIND, and fold the result to the expected KIND. |
| |
| 2007-08-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31202 |
| * f95-lang.c (gfc_init_builtin_functions): Defin builtins for |
| lround{f,,l} and llround{f,,l}. |
| * trans-intrinsic.c (build_fix_expr): Generate calls to the |
| {l,}round{f,,l} functions. |
| |
| 2007-08-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR libfortran/32954 |
| * intrinsic.c (resolve_mask_arg): New function. |
| (gfc_resolve_maxloc): Use resolve_mask_arg for mask resolution. |
| (gfc_resolve_maxval): Likewise. |
| (gfc_resolve_minloc): Likewise. |
| (gfc_resolve_minval): Likewise. |
| (gfc_resolve_pack): Likewise. |
| (gfc_resolve_product): Likewise. |
| (gfc_resolve_sum): Likewise. |
| (gfc_resolve_unpack): Likewise. |
| |
| 2007-08-01 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32936 |
| * match.c (gfc_match_allocate): Better check that STAT is |
| a variable. |
| |
| * check.c (gfc_check_allocated): Reorder checks to improve |
| error message. |
| |
| 2007-08-01 Nick Clifton <nickc@redhat.com> |
| |
| * arith.c: Change copyright header to refer to version 3 of the |
| GNU General Public License and to point readers at the COPYING3 |
| file and the FSF's license web page. |
| * openmp.c, interface.c, intrinsic.c, trans-array.c, trans-expr.c, |
| symbol.c, iso-fortran-env.def, intrinsic.h, decl.c, trans-array.h, |
| matchexp.c, dump-parse-tree.c, trans-common.c, array.c, |
| Make-lang.in, trans-openmp.c, gfortran.h, error.c, |
| iso-c-binding.def, lang.opt, data.c, trans-const.c, trans-stmt.c, |
| expr.c, trans-const.h, trans-stmt.h, module.c, trans.c, scanner.c, |
| trans-types.c, trans.h, gfortranspec.c, trans-types.h, |
| lang-specs.h, io.c, bbt.c, resolve.c, f95-lang.c, st.c, |
| iresolve.c, match.c, trans-decl.c, trans-io.c, target-memory.c, |
| match.h, target-memory.h, parse.c, arith.h, check.c, dependency.c, |
| parse.h, types.def, convert.c, dependency.h, primary.c, |
| trans-intrinsic.c, options.c, misc.c, simplify.c: Likewise. |
| |
| 2007-08-01 Daniel Franke <franke.daniel@gmail.com> |
| |
| * trans-decl.c (generate_local_decl): Emit warning on unused parameter |
| on "-Wall -Wextra" or "-Wunused-parameter" but not on "-Wall", changed |
| messages that start with lower case to upper case. |
| * invoke.texi (-Wparameter-unused): Document differences between gcc |
| and gfortran regarding this option. |
| |
| 2007-08-01 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32945 |
| * expr.c (check_specification_function): Skip check if no symtree |
| is available. |
| |
| 2007-08-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31609 |
| * resolve.c (resolve_entries): Entries declared to be module |
| procedures must point to the function namespace. |
| |
| 2007-07-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32938 |
| * trans-stmt.c (gfc_trans_return): Convert to correct type. |
| |
| 2007-07-31 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/32942 |
| * trans-intrinsic.c (gfc_conv_intrinsic_exponent): Convert to correct |
| type. |
| |
| 2007-07-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| * invoke.texi: Document -fsign-zero flag. |
| |
| 2007-07-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31211 |
| * trans-expr.c (gfc_conv_expr_reference): Add block for case of |
| scalar pointer functions so that NULL result is correctly |
| handled. |
| |
| PR fortran/32682 |
| * trans-array.c (gfc_trans_array_constructor): On detecting a |
| multi-dimensional parameter array, set the loop limits. |
| |
| 2007-07-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32906 |
| * resolve.c (resolve_fl_parameter): Check for constant shape arrays, |
| adjusted error message. |
| |
| 2007-07-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| * invoke.texi: Removed -w from option summary. |
| |
| 2007-07-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32879 |
| * intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document algorithm |
| used for random number generator. |
| |
| 2007-07-28 Kazu Hirata <kazu@codesourcery.com> |
| |
| * gfortran.h, interface.c, resolve.c, symbol.c: Fix comment |
| typos. |
| * intrinsic.texi, invoke.texi: Fix typos. |
| |
| 2007-07-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31609 |
| * resolve.c (generic_sym): Check for a same symbol and if so, return to |
| avoid infinite recursion. |
| |
| 2007-07-28 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31818 |
| PR fortran/32876 |
| PR fortran/32905 |
| * gfortran.h (symbol_attribute): Added bits for pointer_comp, |
| private_comp. |
| * parse.c (parse_derived): Set pointer_comp/private_comp bits if |
| the derived type ultimately contains pointer components or private |
| components. |
| * module.c (ab_attribute): New values AB_POINTER_COMP, AB_PRIVATE_COMP. |
| (attr_bits): Added names for new ab_attributes. |
| (mio_symbol_attribute): Save/restore new attribute bits in modules. |
| * match.c (gfc_match_namelist): Removed check for namelist objects |
| of assumed shape. |
| * resolve.c (resolve_fl_namelist): Added check for pointer or |
| private components in nested types. Added check for namelist objects |
| of assumed shape. |
| |
| 2007-07-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32880 |
| * trans-expr.c (gfc_trans_scalar_assign): Revert to fixed order |
| for lse and rse pre expressions, for derived types with |
| allocatable components. Instead, assign the lhs to a temporary |
| and deallocate after the assignment. |
| |
| 2007-07-28 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| PR fortran/32909 |
| * trans-stmt.c (gfc_trans_character_select): Replace occurrences |
| of gfc_c_int_type_node with integer_type_node. |
| * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise. |
| (gfc_build_builtin_function_decls): Likewise. |
| (gfc_generate_function_code): Likewise. |
| * trans-io.c (gfc_build_io_library_fndecls): Likewise. |
| |
| 2007-07-27 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): Use existing |
| gfc_array_index_type rather than creating another typenode for |
| gfc_index_integer_kind. |
| |
| 2007-07-27 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * trans-io.c (gfc_build_io_library_fndecls): Change to use |
| gfc_array_index_type for array descriptor triplets instead of |
| gfc_int4_type_node. |
| |
| 2007-07-26 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/32899 |
| * resolve.c (resolve_operator): Add INTRINSIC_EQ_OS comparison. |
| |
| 2007-07-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32760 |
| * primary.c (match_variable): Do not call gfc_add_flavor if symbol has |
| attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked. |
| |
| 2007-07-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32035 |
| * trans-stmt.c (gfc_trans_character_select): Replace the |
| mechanism with labels by a SWITCH_EXPR. |
| * trans-decl.c (gfc_build_builtin_function_decls): Change |
| return type for select_string. |
| |
| 2007-07-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32903 |
| * trans-decl.c (gfc_trans_deferred_vars): Set intent(out) |
| derived types as referenced, if they have the the default |
| initializer set. |
| |
| 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gfortran.h (generate_isocbinding_symbol): Constify. |
| * symbol.c (gen_special_c_interop_ptr, gen_cptr_param, |
| generate_isocbinding_symbol): Likewise. |
| |
| 2007-07-24 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31205 |
| PR fortran/32842 |
| * trans-expr.c (gfc_conv_function_call): Remove the default |
| initialization of intent(out) derived types. |
| * symbol.c (gfc_lval_expr_from_sym): New function. |
| * matchexp.c (gfc_get_parentheses): Return argument, if it is |
| character and posseses a ref. |
| * gfortran.h : Add prototype for gfc_lval_expr_from_sym. |
| * resolve.c (has_default_initializer): Move higher up in file. |
| (resolve_code): On detecting an interface assignment, check |
| if the rhs and the lhs are the same symbol. If this is so, |
| enclose the rhs in parenetheses to generate a temporary and |
| prevent any possible aliasing. |
| (apply_default_init): Remove code making the lval and call |
| gfc_lval_expr_from_sym instead. |
| (resolve_operator): Give a parentheses expression a type- |
| spec if it has no type. |
| * trans-decl.c (gfc_trans_deferred_vars): Apply the a default |
| initializer, if any, to an intent(out) derived type, using |
| gfc_lval_expr_from_sym and gfc_trans_assignment. Check if |
| the dummy is present. |
| |
| 2007-07-24 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32867 |
| * expr.c (check_init_expr): Simplify matched functions. |
| |
| 2007-07-24 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32778 |
| * intrinsic.c (add_sym): Do not exclude any symbols, even if not part |
| of the selected standard. |
| (make generic): Likewise. |
| (make alias): Likewise, set standard the alias belongs to. |
| (add_subroutines): Call make_noreturn unconditionally. |
| (check_intrinsic_standard): Change return value to try. |
| (gfc_intrinsic_func_interface): Check return value of above function. |
| (gfc_intrinsic_sub_interface): Likewise. |
| |
| 2007-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/30814 |
| * trans-decl.c (generate_function_code): Add argument |
| for flag_bounds_check to the array for set_options. |
| * invoke.texi (-fbounds-check): Document new libarary run-time |
| behaviour. |
| |
| 2007-07-23 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/25104 |
| PR fortran/31639 |
| * expr.c (check_transformational): Reject valid transformational |
| intrinsics to avoid ICE. |
| (check_inquiry): Report error for assumed character lengths for |
| all supported standards. |
| (check_init_expr): Whitespace fix. |
| |
| 2007-07-23 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32797 |
| PR fortran/32800 |
| * decl.c (verify_bind_c_sym): Use the result symbol for functions |
| with a result clause. Warn if implicitly typed. Verify the type |
| and rank of the SHAPE argument, if given. |
| * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to |
| check the actual args against the formal, sorting them if |
| necessary. |
| * symbol.c (gen_shape_param): Initialize type of SHAPE param to |
| BT_VOID. |
| |
| 2007-07-23 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32732 |
| * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by |
| value character dummy args of BIND(C) procedures. |
| * trans-expr.c (gfc_conv_variable): Do not build address |
| expression for BT_CHARACTER dummy args. |
| |
| 2007-07-23 Christopher D. Rickett <crickett@lanl.gov> |
| Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32600 |
| * trans-expr.c (gfc_conv_function_call): Handle c_funloc. |
| * trans-types.c: Add pfunc_type_node. |
| (gfc_init_types,gfc_typenode_for_spec): Use it. |
| * resolve.c (gfc_iso_c_func_interface): Fix whitespace and |
| improve error message. |
| |
| 2007-07-22 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32710 |
| * parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if |
| the current is a namelist. |
| |
| 2007-07-22 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/29962 |
| PR fortran/31253 |
| PR fortran/31265 |
| PR fortran/31639 |
| * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure, |
| generic, specific, actual_ok, noreturn into bits of a bitfield, |
| added bits for inquiry, transformational, conversion. |
| * check.c (non_init_transformational): Removed, removed all callers. |
| * intrinsic.c (enum class): New. |
| (add_sym*): Replaced argument elemetal by enum class. Changed all |
| callers. |
| (add_functions): Assign appropriate classes to intrinsic functions. |
| (add_subroutines): Assign appropriate classes to intrinsic subroutines. |
| (add_conv): Set conversion attribute. |
| (gfc_init_expr_extensions): Removed, removed all callers. |
| (gfc_intrinsic_func_interface): Reimplemented check for non-standard |
| initializatione expressions. |
| * expr.c (check_specification_function): New. |
| (gfc_is_constant_expr): Added check for specification functions. |
| (check_init_expr_arguments): New. |
| (check_inquiry): Changed return value to MATCH, added checks for |
| inquiry functions defined by F2003. |
| (check_transformational): New. |
| (check_null): New. |
| (check_elemental): New. |
| (check_conversion): New. |
| (check_init_expr): Call new check functions, add more specific error |
| messages. |
| |
| 2007-07-21 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32627 |
| * resolve.c (set_name_and_label): Set kind number for character |
| version of c_f_pointer. |
| (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to |
| that of the actual SHAPE arg. |
| * symbol.c (gen_shape_param): Initialize kind for SHAPE arg. |
| |
| 2007-07-21 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32801 |
| * symbol.c (generate_isocbinding_symbol): Remove unnecessary |
| conditional. |
| |
| PR fortran/32804 |
| * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and |
| deferred-shape arrays as args to C_LOC. Fix bug in testing |
| character args to C_LOC. |
| |
| 2007-07-21 Lee Millward <lee.millward@gmail.com> |
| |
| PR fortran/32823 |
| * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all |
| arguments passed, not just the first one. Adjust code to |
| refer to "args[0]" instead of "arg" as a result. |
| |
| 2007-07-19 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32600 |
| * trans-expr.c (gfc_conv_function_call): Inline C_LOC. |
| |
| 2007-07-18 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32801 |
| * symbol.c (generate_isocbinding_symbol): Fix bug where |
| ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed |
| ISOCBINDING_PTR. |
| |
| 2007-07-17 Janus Weil <jaydub66@gmail.com> |
| |
| PR fortran/32535 |
| * resolve.c (resolve_fl_namelist): Check for namelist private |
| components in contained subprograms. |
| |
| 2007-07-17 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31320 |
| PR fortran/32665 |
| * trans-expr.c (gfc_trans_subcomponent_assign): Ensure that |
| renormalization unity base is done independently of existing |
| lbound value. |
| (gfc_trans_scalar_assign): If rhs is not a variable, put |
| lse->pre after rse->pre to ensure that de-allocation of lhs |
| occurs after evaluation of rhs. |
| |
| 2007-07-16 Lee Millward <lee.millward@gmail.com> |
| |
| PR fortran/32222 |
| PR fortran/32238 |
| PR fortran/32242 |
| * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust |
| to operate on a stack allocated array for the intrinsic arguments |
| instead of creating a TREE_LIST. Add two new parameters for the |
| array and the number of elements. Update all callers to allocate |
| an array of the correct length to pass in. Update comment. |
| (gfc_intrinsic_argument_list_length): New function. |
| (gfc_conv_intrinsic_conversion): Call it. |
| (gfc_conv_intrinsic_mnimax): Likewise. |
| (gfc_conv_intrinsic_merge): Likewise. |
| (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR |
| constructors. |
| (gfc_conv_intrinsic_cmplx): Likewise. |
| (gfc_conv_intrinsic_ctime): Likewise. |
| (gfc_covn_intrinsic_fdate): Likewise. |
| (gfc_conv_intrinsic_ttynam): Likewise. |
| (gfc_conv_intrinsic_ishftc): Likewise. |
| (gfc_conv_intrinsic_index): Likewise. |
| (gfc_conv_intrinsic_scan): Likewise. |
| (gfc_conv_intrinsic_verify): Likewise. |
| (gfc_conv_intrinsic_trim): Likewise. |
| (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors. |
| (gfc_conv_intrinsic_exponent): Likewise. |
| (gfc_conv_intrinsic_bound): Likewise. |
| (gfc_conv_intrinsic_abs): Likewise. |
| (gfc_conv_intrinsic_mod): Likewise. |
| (gfc_conv_intrinsic_sign): Likewise. |
| (gfc_conv_intrinsic_len): Likewise. |
| (gfc_conv_intrinsic_adjust): Likewise. |
| (gfc_conv_intrinsic_si_kind): Likewise. |
| |
| 2007-07-16 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| PR fortran/32748 |
| * trans-decl.c (gfc_build_builtin_function_decls): Remove |
| DECL_IS_MALLOC attribute from internal_realloc, thus reverting |
| part of my 2007-07-03 patch. |
| |
| 2007-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32611 |
| * gfortran.h (gfc_option_t): Add flag_sign_zero field. |
| * lang.opt (-fsign-zero): New option. |
| * trans.h: Rename gfor_fndecl_set_std into gfor_fndecl_set_options. |
| * trans-decl.c (gfc_build_builtin_function_decls): Build the function |
| declaration to pass an array containing the options to be used by the |
| runtime library. (gfc_generate_function_code): Build an array that |
| contains option values to be passed to the runtime library and the call |
| to the function. |
| * options.c (gfc_init_options): Initialize the flag_sign_zero field. |
| (gfc_handle_option): Handle the -fsign-zero option. |
| |
| 2007-07-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32036 |
| * trans-array.c (gfc_conv_array_ref): Only evaluate index once. |
| |
| 2007-07-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32357 |
| * iresolve.c (gfc_resolve_mvbits): Convert FROMPOS, LEN and TOPOS |
| to C int. |
| |
| 2007-07-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR libfortran/32731 |
| * iresolve.c(gfc_resolve_pack): A scalar mask has |
| to be kind=4, an array mask with kind<4 is converted |
| to gfc_default_logical_kind automatically. |
| (gfc_resolve_unpack): Convert mask to gfc_default_lotical_kind |
| if it has a kind<4. |
| |
| 2007-07-14 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32724 |
| * parse.c (parse_spec): Emit error on unexpected statement |
| function. |
| |
| 2007-07-13 Daniel Franke <franke.daniel@gmail.com> |
| |
| * invoke.texi: Unified upper- and lower-case in menus. |
| (-w, -W): Removed, documented by gcc. |
| * intrinsic.texi: Unified Class-section entries, added |
| subroutine/function warning where appropiate. |
| |
| 2007-07-12 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31639 |
| * decl.c (gfc_match_suffix): Removed surplus general error that hides |
| a more specific message. |
| * resolve.c (resolve_fl_variable): Reject illegal initializiers only |
| if not already done. |
| (resolve_fl_procedure): Added check for initializers of functions. |
| |
| 2007-07-12 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32704 |
| * invoke.texi (-static-libgfortran): Document new option. |
| |
| 2007-07-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32634 |
| PR fortran/32727 |
| * module.c (write_generic): Restore patch of 2007-07-10 and use |
| symbol name if there are no use names. |
| |
| 2007-07-12 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32599 |
| * decl.c (verify_c_interop_param): Require character string dummy |
| args to BIND(C) procedures to have length 1. |
| * resolve.c (resolve_fl_procedure): Modify parameter checking for |
| BIND(C) procedures. |
| |
| PR fortran/32601 |
| * resolve.c (gfc_iso_c_func_interface): Verify that a valid |
| expression is given as an argument to C_LOC and C_ASSOCIATED. |
| * trans-io.c (transfer_expr): Add argument for code block. Add |
| standards check to determine if an error message should be |
| reported for printing C_PTR or C_FUNPTR. |
| (transfer_array_component): Update arguments to transfer_expr. |
| (gfc_trans_transfer): Ditto. |
| |
| * symbol.c (gen_cptr_param): Fix whitespace. |
| |
| 2007-07-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/32550 |
| * trans.h (GFC_POINTER_TYPE_P): Define. |
| * trans-types.c (gfc_sym_type): Set it for types on attr->sym.pointer. |
| * trans-openmp.c (gfc_omp_privatize_by_reference): Return false |
| if GFC_POINTER_TYPE_P is set on the type. |
| |
| 2007-07-12 Richard Guenther <rguenther@suse.de> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Convert |
| arguments to gfc_charlen_type_node. |
| * trans-io.c (gfc_convert_array_to_string): Convert type |
| size to gfc_array_index_type. |
| |
| 2007-07-12 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32634 |
| PR fortran/32727 |
| * module.c: Reverted Paul's patch from 2007-07-10. |
| |
| 2007-07-11 Richard Guenther <rguenther@suse.de> |
| |
| * trans-array.c (gfc_conv_array_parameter): Use correct |
| types for comparison. |
| * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use |
| correct types for POINTER_PLUS_EXPR. |
| * trans-stmt.c (gfc_trans_forall_loop): Use correct type |
| for integer one constant. |
| |
| 2007-07-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32157 |
| * resolve.c (is_external_proc): New function. Adds test that |
| the symbol is not an intrinsic procedure. |
| * (resolve_function, resolve_call): Replace logical statements |
| with call to is_external_proc. |
| |
| PR fortran/32689 |
| * simplify.c (gfc_simplify_transfer): If mold has rank, the |
| result is an array. |
| |
| PR fortran/32634 |
| * module.c (write_generic): Write the local name of the |
| interface. |
| |
| 2007-07-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/29459 |
| * trans-array.c (gfc_trans_array_constructor): Mark offset field |
| with TREE_NO_WARNING. |
| * trans-decl.c (gfc_build_qualified_array): Mark lbound, ubound, |
| stride and size variables with TREE_NO_WARNING. |
| |
| 2007-07-09 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| * trans-decl.c (set_tree_decl_type_code): Remove function. |
| (generate_local_decl): Remove reference to set_tree_decl_type_code. |
| |
| 2007-07-09 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31129 |
| * trans-decl.c (generate_local_decl) Emit a warning if an unused |
| parameter is found. |
| |
| 2007-07-08 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/29876 |
| * module.c (gfc_match_use): Do not set an non-existant |
| intrinsic operator if a user-defined operator is found. |
| |
| 2007-07-08 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/24784 |
| PR fortran/28004 |
| * trans-decl.c (generate_local_decl): Adjusted warning on unused |
| dummy arguments, tell middle-end not to emit additional warnings. |
| |
| 2007-07-08 Daniel Franke <franke.daniel@gmail.com> |
| Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| PR fortran/17711 |
| * gfortran.h (gfc_intrinsic_op): Added INTRINSIC_EQ_OS, |
| INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS, |
| INTRINSIC_LT_OS and INTRINSIC_LE_OS. |
| * arith.c (eval_intrinsic, eval_type_intrinsic0): Likewise. |
| * arith.h (gfc_eq, gfc_ne, gfc_gt, gfc_ge, gfc_lt, gfc_le): |
| Added gfc_intrinsic_op as third argument type. |
| * dump-parse-tree.c (gfc_show_expr): Account for new enum values. |
| * expr.c (simplify_intrinsic_op, check_intrinsic_op): Likewise. |
| * interface.c (check_operator_interface): Likewise. |
| (gfc_check_interfaces): Added cross-checks for FORTRAN 77 and |
| Fortran 90 style operators using new enum values. |
| (gfc_extend_expr): Likewise. |
| (gfc_add_interface): Likewise. |
| * match.c (intrinsic_operators): Distinguish FORTRAN 77 style |
| operators from Fortran 90 style operators using new enum values. |
| * matchexp.c (match_level_4): Account for new enum values. |
| * module.c (mio_expr): Likewise. |
| * resolve.c (resolve_operator): Deal with new enum values, fix |
| inconsistent error messages. |
| * trans-expr.c (gfc_conv_expr_op): Account for new enum values. |
| |
| 2007-07-08 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32669 |
| * interface.c (get_expr_storage_size): Properly obtain lower bound. |
| (compare_actual_formal): Add space before parenthesis. |
| |
| 2007-07-08 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/25094 |
| * resolve.c (resolve_fl_procedure): Added check for PRIVATE types |
| in PUBLIC interfaces. |
| |
| 2007-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32644 |
| * decl.c (match_attr_spec): Don't return MATCH_ERROR if comma found and |
| gfc_match_bind_c does not return MATCH_YES. |
| |
| 2007-07-07 Kazu Hirata <kazu@codesourcery.com> |
| |
| * decl.c, gfortran.h, interface.c, module.c, resolve.c, |
| trans-array.c, trans-decl.c: Fix comment typos. Follow |
| spelling conventions. |
| * intrinsic.texi: Fix typos. Follow spelling conventions. |
| |
| 2007-05-06 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32633 |
| * symbol.c (save_status): New. |
| * gfortran.h (save_status): Added external declaration. |
| (check_conflict): Check for conflicting explicite SAVE statements |
| only. |
| (gen_special_c_interop_ptr): Use SAVE_EXPLICIT constant. |
| * module.c (ab_attribute, attr_bits): Removed enumerator value |
| AB_SAVE for save attribute. |
| (mio_symbol_attribute): Import/export the full SAVE status, |
| removed usage of AB_SAVE. |
| * dump-parse-tree.c (gfc_show_attr): Dump full SAVE status. |
| * decl.c (add_init_expr_to_sym): Set SAVE_IMPLICIT only if not |
| already explicit. |
| |
| 2007-07-05 Daniel Franke <franke.daniel@gmail.com> |
| Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32359 |
| * gfortran.h (symbol_attribute): Change save attribute into an enum. |
| * decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT. |
| * symbol.c (gfc_add_save): Check for SAVE_EXPLICIT. |
| * resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT. |
| (resolve_symbol): Allow OMP threadprivate with |
| initialization SAVEd and save_all variable. |
| * trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check. |
| |
| 2007-07-05 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32526 |
| * match.c (gfc_match_call): Check, in all cases, that a symbol |
| is neither generic nor a subroutine before trying to add it as |
| a subroutine. |
| |
| PR fortran/32613 |
| * match.c (gfc_match_do): Reset the implied_index attribute. |
| |
| 2007-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31198 |
| * trans-intrinsic.c (trans-intrinsic.c): Handle optional |
| arguments correctly for MIN and MAX intrinsics. |
| |
| 2007-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32545 |
| * io.c (check_format): Always call gfc_error for errors. |
| (check_format_string): Change type of this function to try and |
| return the result of check_format. |
| (check_io_constraints): Return MATCH_ERROR if check_format_string |
| returns FAILURE. |
| |
| 2007-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32612 |
| * decl.c (get_proc_name): Include attr->mod_proc in check for error. |
| |
| 2007-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32432 |
| * gfortran.h: Change type of gfc_assign_data_value from void to try. |
| * data.c (gfc_assign_data_value): Return FAILURE if error found. |
| * resolve.c (check_data_variable): If gfc_assign_data_value returns |
| failure, break out of loop and return failure. |
| |
| 2007-07-03 Christopher D. Rickett <crickett@lanl.gov> |
| |
| PR fortran/32579 |
| * symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if necessary. |
| (build_formal_args): Pass intrinsic module symbol id to |
| gen_cptr_param. |
| |
| 2007-07-03 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/25062 |
| * resolve.c (resolve_common_blocks): New check function. |
| (resolve_types): Use it. |
| |
| 2007-07-03 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/30940 |
| * interface.c (get_sym_storage_size): New function. |
| (get_sym_storage_size): New function. |
| (compare_actual_formal): Enhance sequence association |
| support and improve checking. |
| |
| 2007-07-03 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): Mark |
| internal_realloc as a malloc function. |
| |
| 2007-07-03 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/20888 |
| * resolve.c (resolve_operator): Check for NULL as operand. |
| |
| 2007-07-02 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (Fortran 2003): Add ISO Bind C. |
| * intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER, |
| C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics. |
| |
| 2007-07-01 Christopher D. Rickett <crickett@lanl.gov> |
| |
| * interface.c (gfc_compare_derived_types): Special case for comparing |
| derived types across namespaces. |
| (gfc_compare_types): Deal with BT_VOID. |
| (compare_parameter): Use BT_VOID to accept ISO C Binding pointers. |
| * trans-expr.c (gfc_conv_function_call): Remove setting parm_kind |
| to SCALAR |
| (gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and |
| NULL_FUNPTR. |
| (gfc_conv_expr): Convert expressions for ISO C Binding derived types. |
| * symbol.c (gfc_set_default_type): BIND(C) variables should not be |
| Implicitly declared. |
| (check_conflict): Add BIND(C) and check for conflicts. |
| (gfc_add_explicit_interface): Whitespace. |
| (gfc_add_is_bind_c): New function. |
| (gfc_copy_attr): Use it. |
| (gfc_new_symbol): Initialize ISO C Binding objects. |
| (get_iso_c_binding_dt): New function. |
| (verify_bind_c_derived_type): Ditto. |
| (gen_special_c_interop_ptr): Ditto. |
| (add_formal_arg): Ditto. |
| (gen_cptr_param): Ditto. |
| (gen_fptr_param): Ditto. |
| (gen_shape_param): Ditto. |
| (add_proc_interface): Ditto. |
| (build_formal_args): Ditto. |
| (generate_isocbinding_symbol): Ditto. |
| (get_iso_c_sym): Ditto. |
| * decl.c (num_idents_on_line, has_name_equals): New variables. |
| (verify_c_interop_param): New function. |
| (build_sym): Finish binding labels and deal with COMMON blocks. |
| (add_init_expr_to_sym): Check if the initialized expression is |
| an iso_c_binding named constants |
| (variable_decl): Set ISO C Binding type_spec components. |
| (gfc_match_kind_spec): Check match for C interoperable kind. |
| (match_char_spec): Fix comment. Chnage gfc_match_small_int |
| to gfc_match_small_int_expr. Check for C interoperable kind. |
| (match_type_spec): Clear the current binding label. |
| (match_attr_spec): Add DECL_IS_BIND_C. If BIND(C) is found, use it |
| to set attributes. |
| (set_binding_label): New function. |
| (set_com_block_bind_c): Ditto. |
| (verify_c_interop): Ditto. |
| (verify_com_block_vars_c_interop): Ditto. |
| (verify_bind_c_sym): Ditto. |
| (set_verify_bind_c_sym): Ditto. |
| (set_verify_bind_c_com_block): Ditto. |
| (get_bind_c_idents): Ditto. |
| (gfc_match_bind_c_stmt): Ditto. |
| (gfc_match_data_decl): Use num_idents_on_line. |
| (match_result): Deal with right paren in BIND(C). |
| (gfc_match_suffix): New function. |
| (gfc_match_function_decl): Use it. Code is re-arranged to deal with |
| ISO C Binding result clauses. |
| (gfc_match_subroutine): Deal with BIND(C). |
| (gfc_match_bind_c): New function. |
| (gfc_get_type_attr_spec): New function. Code is re-arranged in and |
| taken from gfc_match_derived_decl. |
| (gfc_match_derived_decl): Add check for BIND(C). |
| * trans-common.c: Forward declare gfc_get_common. |
| (gfc_sym_mangled_common_id): Change arg from 'const char *name' to |
| 'gfc_common_head *com'. Check for ISO C Binding of the common block. |
| (build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME. |
| * gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN |
| (bt): Add BT_VOID |
| (sym_flavor): Add FL_VOID. |
| (iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum |
| (CInteropKind_t): New struct. |
| (c_interop_kinds_table): Use it. Declare an array of structs. |
| (symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c |
| bitfields. |
| (gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members. |
| (gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and |
| common_block members. |
| (gfc_common_head): Add binding_label and is_bind_c members. |
| (gfc_gsymbol): Add sym_name, mod_name, and binding_label members. |
| Add prototypes for get_c_kind, gfc_validate_c_kind, |
| gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value, |
| verify_c_interop, verify_c_interop_param, verify_bind_c_sym, |
| verify_bind_c_derived_type, verify_com_block_vars_c_interop, |
| generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface |
| * iso-c-binding.def: New file. This file contains the definitions |
| of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic |
| module. |
| * trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR |
| or C_NULL_FUNPTR expressions. |
| * expr.c (gfc_copy_expr): Add BT_VOID case. For BT_CHARACTER, the |
| ISO C Binding requires a minimum string length of 1 for '\0'. |
| * module.c (intmod_sym): New struct. |
| (pointer_info): Add binding_label member. |
| (write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p. |
| (ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C. |
| (attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C". |
| (mio_symbol_attribute): Deal with ISO C Binding attributes. |
| (bt_types): Add "VOID". |
| (mio_typespec): Deal with ISO C Binding components. |
| (mio_namespace_ref): Add intmod variable. |
| (mio_symbol): Check for symbols from an intrinsic module. |
| (load_commons): Check for BIND(C) common block. |
| (read_module): Read binding_label and use it. |
| (write_common): Add label. Write BIND(C) info. |
| (write_blank_common): Blank commons are not BIND(C). Explicitly |
| set is_bind_c=0. |
| (write_symbol): Deal with binding_label. |
| (sort_iso_c_rename_list): New function. |
| (import_iso_c_binding_module): Ditto. |
| (create_int_parameter): Add to args. |
| (use_iso_fortran_env_module): Adjust to deal with iso_c_binding |
| intrinsic module. |
| * trans-types.c (c_interop_kinds_table): new array of structs. |
| (gfc_validate_c_kind): New function. |
| (gfc_check_any_c_kind): Ditto. |
| (get_real_kind_from_node): Ditto. |
| (get_int_kind_from_node): Ditto. |
| (get_int_kind_from_width): Ditto. |
| (get_int_kind_from_minimal_width): Ditto. |
| (init_c_interop_kinds): Ditto. |
| (gfc_init_kinds): call init_c_interop_kinds. |
| (gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers. |
| Adjust handling of BT_DERIVED. |
| (gfc_sym_type): Whitespace. |
| (gfc_get_derived_type): Account for iso_c_binding derived types |
| * resolve.c (is_scalar_expr_ptr): New function. |
| (gfc_iso_c_func_interface): Ditto. |
| (resolve_function): Use gfc_iso_c_func_interface. |
| (set_name_and_label): New function. |
| (gfc_iso_c_sub_interface): Ditto. |
| (resolve_specific_s0): Use gfc_iso_c_sub_interface. |
| (resolve_bind_c_comms): New function. |
| (resolve_bind_c_derived_types): Ditto. |
| (gfc_verify_binding_labels): Ditto. |
| (resolve_fl_procedure): Check for ISO C interoperability. |
| (resolve_symbol): Check C interoperability. |
| (resolve_types): Walk the namespace. Check COMMON blocks. |
| * trans-decl.c (gfc_sym_mangled_identifier): Prevent the mangling |
| of identifiers that have an assigned binding label. |
| (gfc_sym_mangled_function_id): Use the binding label rather than |
| the mangled name. |
| (gfc_finish_var_decl): Put variables that are BIND(C) into a common |
| segment of the object file, because this is what C would do. |
| (gfc_create_module_variable): Conver to proper types |
| (set_tree_decl_type_code): New function. |
| (generate_local_decl): Check dummy variables and derived types for |
| ISO C Binding attributes. |
| * match.c (gfc_match_small_int_expr): New function. |
| (gfc_match_name_C): Ditto. |
| (match_common_name): Deal with ISO C Binding in COMMON blocks |
| * trans-io.c (transfer_expr): Deal with C_NULL_PTR or C_NULL_FUNPTR |
| expressions |
| * match.h: Add prototypes for gfc_match_small_int_expr, |
| gfc_match_name_C, match_common_name, set_com_block_bind_c, |
| set_binding_label, set_verify_bind_c_sym, |
| set_verify_bind_c_com_block, get_bind_c_idents, |
| gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c, |
| gfc_get_type_attr_spec |
| * parse.c (decode_statement): Use gfc_match_bind_c_stmt |
| (parse_derived): Init *derived_sym = NULL, and gfc_current_block |
| later for valiadation. |
| * primary.c (got_delim): Set ISO C Binding components of ts. |
| (match_logical_constant): Ditto. |
| (match_complex_constant): Ditto. |
| (match_complex_constant): Ditto. |
| (gfc_match_rvalue): Check for existence of at least one arg for |
| C_LOC, C_FUNLOC, and C_ASSOCIATED. |
| * misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts. |
| (get_c_kind): New function. |
| |
| 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| PR fortran/32239 |
| * trans-expr.c (gfc_conv_power_op): Use builtin_powi for |
| real**int4 powers. |
| * f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the |
| builtins table. |
| |
| 2007-07-01 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * trans.h: Remove decls for 64-bit allocation functions. |
| * trans-array.c (gfc_grow_array): Always pick the standard realloc |
| function decl. |
| (gfc_array_allocate): Likewise. |
| * trans-decl.c: Remove trees for 64-bit allocation functions. |
| (gfc_build_builtin_function_decls): Don't build fndecls for 64-bit |
| allocations functions, use index_int_type for normal allocation |
| functions. |
| |
| 2007-06-30 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/20373 |
| * intrinsic.c (add_functions): Additional function types. |
| (gfc_convert_type_warn): Remove intrinsic-flag from |
| conversion functions. |
| * resolve.c (resolve_symbol): Added type checks to |
| explicitly defined intrinsics. |
| |
| 2007-06-30 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32555 |
| * io.c (check_format): Allow zero to precede the |
| P edit descriptor. |
| |
| 2007-06-30 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32472 |
| * simplify.c (gfc_simplify_repeat): Add handling of character |
| literal for first argument. |
| |
| 2007-06-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| * resolve.c (resolve_operator): Added check whether a user |
| defined operator is available. |
| |
| 2007-06-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| * openmp.c (resolve_omp_clauses): Adjust error message to |
| better reflect the actual requirement. |
| |
| 2007-06-29 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32483 |
| * io.c (format_lex): Fix FMT_ZERO. |
| (check_format,check_format_string,gfc_match_format, |
| check_io_constraints) Additional checking for READ. |
| |
| 2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR other/31400 |
| * lang.opt (static-libgfortran): New option. |
| * gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro. |
| (Option): Add OPTION_static and OPTION_static_libgfortran. |
| (lookup_option): Handle the new -static-libgfortran option. |
| (lang_specific_driver): Check whether -static is passed. |
| Handle the new -static-libgfortran option. |
| * options.c (gfc_handle_option): If -static-libgfortran is |
| passed and isn't supported on this configuration, error out. |
| |
| 2007-06-27 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32467 |
| * openmp.c (resolve_omp_clauses): Emit error on allocatable |
| components in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE |
| clauses. |
| |
| 2007-06-25 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32464 |
| * resolve.c (check_host_association): Return if the old symbol |
| is use associated. Introduce retval to reduce the number of |
| evaluations of the first-order return value. |
| |
| PR fortran/31494 |
| * match.c (gfc_match_call): If a host associated symbol is not |
| a subroutine, build a new symtree/symbol in the current name |
| space. |
| |
| 2007-06-24 Tobias Burnus <burnus@net-de> |
| |
| PR fortran/32460 |
| * interface.c (gfc_compare_derived_types): Add access check. |
| * symbol.c (gfc_find_component): Ditto. |
| (gfc_set_component_attr,gfc_get_component_attr) Copy access state. |
| * dump-parse-tree.c (gfc_show_components): Dump access state. |
| * gfortran.h (struct gfc_component): Add gfc_access. |
| * module.c (mio_component): Add access state. |
| * (gfc_match_structure_constructor): Check for private access state. |
| |
| 2007-06-24 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32298 |
| PR fortran/31726 |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate |
| the offset between the loop counter and the position as |
| defined. Add the offset within the loop so that the mask acts |
| correctly. Do not advance the location on the basis that it |
| is zero. |
| |
| 2007-06-22 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31473 |
| * symbol.c (gfc_copy_attr): Emit errors for duplicate |
| EXTERNAL/INTRINSIC statements. |
| |
| 2007-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32360 |
| * expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR, |
| check to see if the lvalue has attribute pointer and data. |
| |
| 2007-06-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31162 |
| * resolve.c (gfc_resolve_iterator_expr): Add check for REAL using |
| gfc_notify_standard. (gfc_resolve_iterator): Remove check. |
| (resolve_branch): Change "Obsolete" to "Deleted feature". |
| * io.c (resolve_tag): Ditto. |
| * match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto. |
| |
| 2007-06-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32361 |
| * match.c (gfc_match_common): If the symbol value expression type is |
| NULL_EXPR, don't error if previously initialized. |
| |
| 2007-06-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/25061 |
| * decl.c (get_proc_name) Check symbol for generic interface |
| and issue an error. |
| |
| 2007-06-20 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| Richard Guenther <rguenther@suse.de> |
| |
| PR fortran/32140 |
| * trans.c (gfc_build_addr_expr): Use the correct types. |
| |
| 2007-06-19 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/20863 |
| PR fortran/20882 |
| * resolve.c (resolve_code): Use gfc_impure_variable as a |
| condition for rejecting derived types with pointers, in pure |
| procedures. |
| (gfc_impure_variable): Add test for dummy arguments of pure |
| procedures; any for functions and INTENT_IN for subroutines. |
| |
| PR fortran/32236 |
| * data.c (gfc_assign_data_value): Change the ICE on an array |
| reference initializer not being an array into an error and |
| clear init to prevent a repetition of the error. |
| |
| 2007-06-17 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n |
| environment variables. Fix documentation for |
| GFORTRAN_UNBUFFERED_ALL environment variable. |
| |
| 2007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use |
| POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition. |
| * trans-expr.c (gfc_trans_string_copy): Create |
| POINTER_PLUS_EXPR instead of a PLUS_EXPR |
| for pointer types. |
| |
| 2007-06-14 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32302 |
| * trans-common.c (build_common_decl): If resizing of common |
| decl is needed, update the TREE_TYPE. |
| |
| 2007-06-13 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32323 |
| * interface.c (has_vector_section): New. |
| (compare_actual_formal): Check for array sections with vector subscript. |
| |
| 2007-06-12 Dirk Mueller <dmueller@suse.de> |
| |
| * trans-stmt.c (gfc_trans_call): fix gcc_assert to |
| a comparison, not an assignment. |
| |
| 2007-06-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| * trans-common.c (create_common): Initialize 'field_init'. |
| |
| 2007-06-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/29786 |
| PR fortran/30875 |
| * trans-common.c (get_init_field): New function. |
| (create_common): Call get_init_field for overlapping |
| initializers in equivalence blocks. |
| * resolve.c (resolve_equivalence_derived, resolve_equivalence): |
| Remove constraints on initializers in equivalence blocks. |
| * target-memory.c (expr_to_char, gfc_merge_initializers): |
| New functions. |
| (encode_derived): Add the bit offset to the byte offset to get |
| the total offset to the field. |
| * target-memory.h : Add prototype for gfc_merge_initializers. |
| |
| 2007-06-11 Rafael Ávila de Espíndola <espindola@google.com> |
| |
| * trans-types.c (gfc_signed_type): Remove. |
| * trans-types.h (gfc_signed_type): Remove. |
| * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove. |
| |
| 2007-06-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-intrinsic.c: Revert Lee's 2007-06-04 patch. |
| |
| 2007-06-07 Steven G. Kargl <kargl@gcc.gnu.org> |
| Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/32223 |
| * match.c (gfc_match_special_char): New function. Match special char. |
| Add handling '\0'. |
| * match.h: Add prototype. |
| * io.c (next_char): Use it. |
| * primary.c (next_string_char): Ditto. |
| |
| 2007-06-06 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| * decl.c: Miscellaneous whitespace fixes. |
| * expr.c: Likewise. |
| * gfortran.h: Likewise. |
| * interface.c : Likewise. |
| * io.c: Likewise. |
| * match.c: Likewise. |
| * match.h: Likewise. |
| * module.c: Likewise. |
| * parse.c: Likewise. |
| * resolve.c: Likewise. |
| * symbol.c: Likewise. |
| * trans-array.c: Likewise. |
| * trans-common.c: Likewise. |
| * trans-decl.c: Likewise. |
| * trans-intrinsic.c: Likewise. |
| * trans-io.c: Likewise. |
| * trans-stmt.c: Likewise. |
| * trans-types.c: Likewise. |
| |
| 2007-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/18923 |
| * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR |
| for ST_FUNCTION since it is called in reject_statement. |
| (parse_contained): If error, loop back after reject_statement and try |
| again. Free the namespace if an error occured. |
| |
| 2007-06-04 Lee Millward <lee.millward@codesourcery.com> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust |
| to operate on a stack allocated array for the intrinsic arguments |
| instead of creating a TREE_LIST. Add two new parameters for the |
| array and the number of elements. Update all callers to allocate |
| an array of the correct length to pass in. Update comment. |
| (gfc_intrinsic_argument_list_length): New function. |
| (gfc_conv_intrinsic_mnimax): Call it. |
| (gfc_conv_intrinsic_merge): Likewise. |
| (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR |
| constructors. |
| (gfc_conv_intrinsic_cmplx): Likewise. |
| (gfc_conv_intrinsic_ctime): Likewise. |
| (gfc_covn_intrinsic_fdate): Likewise. |
| (gfc_conv_intrinsic_ttynam): Likewise. |
| (gfc_conv_intrinsic_ishftc): Likewise. |
| (gfc_conv_intrinsic_index): Likewise. |
| (gfc_conv_intrinsic_scan): Likewise. |
| (gfc_conv_intrinsic_verify): Likewise. |
| (gfc_conv_intrinsic_trim): Likewise. |
| (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors. |
| (gfc_conv_intrinsic_exponent): Likewise. |
| (gfc_conv_intrinsic_bound): Likewise. |
| (gfc_conv_intrinsic_abs): Likewise. |
| (gfc_conv_intrinsic_mod): Likewise. |
| (gfc_conv_intrinsic_sign): Likewise. |
| (gfc_conv_intrinsic_len): Likewise. |
| (gfc_conv_intrinsic_adjust): Likewise. |
| (gfc_conv_intrinsic_si_kind): Likewise. |
| |
| 2007-06-04 Steve Ellcey <sje@cup.hp.com> |
| |
| * trans-array.c (gfc_conv_array_parameter): Initialize tmp. |
| |
| 2007-05-31 Richard Guenther <rguenther@suse.de> |
| |
| * trans-expr.c (gfc_conv_expr_op): Use zero constant |
| that matches the lse type. |
| (gfc_trans_string_copy): Use sizetype zero constant. |
| * intrinsic.c (add_functions): The sizeof intrinsic has |
| index type result. |
| * trans-types.c (gfc_get_dtype): Convert size to index |
| type before shifting. |
| * trans-array.c (gfc_trans_array_constructor_value): Use |
| index type for offset computation. |
| * trans-intrinsic.c (gfc_conv_associated): Use correct type |
| for zero constant. |
| |
| 2007-05-31 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32156 |
| * trans-array.c (gfc_trans_array_constructor): Treat the case |
| where the ss expression charlen is missing. |
| |
| 2007-05-31 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32103 |
| * module.c (mio_symtree_ref): If an equivalence group member |
| is not used, give it a hidden symbol and set the pointer_info. |
| (load_equiv): Only free the equivalence if none of the members |
| are used. |
| |
| 2007-05-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id', |
| added missing GFC_ISYM_* enumerators, ordered alphabetically. |
| (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'. |
| (gfc_find_subroutine): New prototype. |
| * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers. |
| (find_subroutine): Renamed to 'gfc_find_subroutine', removed static. |
| * dependency.c: Changed usage of isym->generic_id to isym->id. |
| * openmp.c: Likewise. |
| * resolve.c: Likewise. |
| * trans-array.c: Likewise. |
| * trans-expr.c: Likewise. |
| * trans-intrinsic.c: Likewise. |
| * trans-openmp.c: Likewise. |
| |
| 2007-05-28 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF. |
| * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic. |
| * intrinsic.h (gfc_check_sizeof): Add prototype of ... |
| * check.c (gfc_check_sizeof): .. new function. |
| * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function. |
| (gfc_conv_intrinsic_strcmp): Whitespace fix. |
| (gfc_conv_intrinsic_array_transfer): Remove double initialization, |
| use fold_build. where appropriate. |
| (gfc_conv_intrinsic_function): Add case for SIZEOF. |
| * intrinsic.texi: Add documentation for SIZEOF. |
| |
| 2007-05-28 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * trans-array.c (gfc_conv_expr_descriptor): Edit comment. |
| |
| 2007-05-28 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| PR fortran/31972 |
| * target-memory.c (gfc_target_expr_size): Add handling |
| for size of BT_HOLLERITH variables. |
| * check.c (gfc_check_transfer): Reject BT_HOLLERITH |
| variables in MOLD argument of TRANSFER. |
| |
| 2007-05-28 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * gfortran.h (gfc_expr): Remove from_H, add "representation" |
| struct. |
| * primary.c (match_hollerith_constant): Store the representation |
| of the Hollerith in representation, not in value.character. |
| * arith.c: Add dependency on target-memory.h. |
| (eval_intrinsic): Remove check for from_H. |
| (hollerith2representation): New function. |
| (gfc_hollerith2int): Determine value of the new constant. |
| (gfc_hollerith2real): Likewise. |
| (gfc_hollerith2complex): Likewise. |
| (gfc_hollerith2logical): Likewise. |
| (gfc_hollerith2character): Point both representation.string and |
| value.character.string at the value string. |
| * data.c (create_character_initializer): For BT_HOLLERITH |
| rvalues, get the value from the representation rather than |
| value.character. |
| * expr.c (free_expr0): Update handling of BT_HOLLERITH values |
| and values with representation.string. |
| (gfc_copy_expr): Likewise. |
| * intrinsic.c (do_simplify): Remove special treatement of |
| variables resulting from Hollerith constants. |
| * dump-parse-trees.c (gfc_show_expr): Update handling of |
| Holleriths. |
| * trans-const.c (gfc_conv_constant_to_tree): Replace from_H |
| check with check for representation.string; get Hollerith |
| representation from representation.string, not value.character. |
| * trans-expr.c (is_zero_initializer_p): Replace from_H check |
| with check for representation.string. |
| * trans-stmt.c (gfc_trans_integer_select): Use |
| gfc_conv_mpz_to_tree for case values, so as to avoid picking up |
| the memory representation if the case is given by a transfer |
| expression. |
| * target-memory.c (gfc_target_encode_expr): Use the known memory |
| representation rather than the value, if it exists. |
| (gfc_target_interpret_expr): Store the memory representation of |
| the interpreted expression as well as its value. |
| (interpret_integer): Move to gfc_interpret_integer, make |
| non-static. |
| (interpret_float): Move to gfc_interpret_float, make non-static. |
| (interpret_complex): Move to gfc_interpret_complex, make |
| non-static. |
| (interpret_logical): Move to gfc_interpret_logical, make |
| non-static. |
| (interpret_character): Move to gfc_interpret_character, make |
| non-static. |
| (interpret_derived): Move to gfc_interpret_derived, make |
| non-static. |
| * target-memory.h: Add prototypes for newly-exported |
| gfc_interpret_* functions. |
| |
| 2007-05-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31812 |
| * parse.c (next_statement): Warn for truncated lines if source is free |
| form. |
| |
| 2007-05-27 Paul Thomas <pault@gcc.gnu.org> |
| Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/32088 |
| * symbol.c (gfc_check_function_type): Copy dimensions of |
| result variable. |
| * resolve.c (resolve_contained_fntype): Improve symbol output in |
| the error message. |
| |
| 2007-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31813 |
| * io.c (check_format): Add warning for H specifier in format. |
| |
| 2007-05-26 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and |
| GFORTRAN_ERROR_BACKTRACE environment variables. |
| |
| 2007-05-26 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31219 |
| * trans.h : Add no_function_call bitfield to gfc_se structure. |
| Add stmtblock_t argument to prototype of get_array_ctor_strlen. |
| * trans-array.c (get_array_ctor_all_strlen): New function. |
| (get_array_ctor_strlen): Add new stmtblock_t argument and call |
| new function for character elements that are not constants, |
| arrays or variables. |
| (gfc_conv_array_parameter): Call get_array_ctor_strlen to get |
| good string length. |
| * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument |
| to call of get_array_ctor_strlen. |
| |
| 2007-05-25 Kazu Hirata <kazu@codesourcery.com> |
| |
| * intrinsic.texi: Fix typos. |
| |
| 2007-05-25 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/32047 |
| * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change |
| order in logic under EXPR_FUNCTION to handle functions with |
| no arguments. |
| |
| 2007-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31716 |
| * array.c (spec_dimen_size): Test for correct BT_INTEGER type. |
| |
| 2007-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32046 |
| * trans-expr.c (gfc_trans_zero_assign): Convert the result of |
| TYPE_SIZE_UNIT into a signed type. |
| (gfc_trans_array_copy): Likewise. |
| (gfc_trans_array_constructor_copy): Likewise. |
| * trans-array.c (gfc_trans_create_temp_array): Likewise. |
| (gfc_grow_array): Likewise. |
| (gfc_array_init_size): Likewise. |
| (gfc_duplicate_allocatable): Likewise. |
| * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise. |
| |
| 2007-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/18923 |
| * resolve.c (resolve_function): Don't call resolve_global_procedure if |
| there is no name. Delete duplicated statement in ELSE clause. |
| |
| 2007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31627 |
| * trans-array.c (gfc_trans_array_bound_check): Take extra argument to |
| indicate whether we should check the upper bound in that dimension. |
| (gfc_conv_array_index_offset): Check only the lower bound of the |
| last dimension for assumed-size arrays. |
| (gfc_conv_array_ref): Likewise. |
| (gfc_conv_ss_startstride): Likewise. |
| |
| 2007-05-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32002 |
| * resolve.c (resolve_actual_arglist): Resolve actual argument after |
| being identified as variable. |
| |
| 2007-05-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/32027 |
| * trans-stmt.c (gfc_trans_do): Fix the value of loop variable |
| when the loop ends. |
| |
| 2007-05-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * trans-stmt.c (gfc_trans_do): Fix a typo in comment. |
| |
| 2007-05-21 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31867 |
| PR fortran/31994 |
| * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored |
| offset for non-descriptor, source arrays and correct for stride |
| not equal to one before writing to field of output descriptor. |
| |
| 2007-05-20 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/32001 |
| * check.c (check_rest): Improved argument conformance check and |
| fixed error message generation. |
| |
| 2007-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30820 |
| * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o, |
| simplify.o and trans-common.o. |
| |
| 2007-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31974 |
| * trans-array.c (gfc_trans_auto_array_allocation): Avoid |
| multiplication of mismatched types. |
| |
| 2007-05-18 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/24633 |
| * symbol.c (gfc_add_flavor): Add the NAME to error message if |
| available. |
| |
| 2007-05-15 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31919 |
| PR fortran/31929 |
| PR fortran/31930 |
| * intrinsic.c (check_specific): Check elemental intrinsics for |
| rank and shape. |
| (add_functions): Fixed dummy argument names of BESJN and BESYN. |
| Fixed elemental status of MCLOCK and MCLOCK8. |
| * check.c (check_rest): Added check for array conformance. |
| (gfc_check_merge): Removed check for array conformance. |
| (gfc_check_besn): Removed check for scalarity. |
| * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos. |
| (BESJN, BESYN): Clarified documentation. |
| |
| 2007-05-17 Tobias Burnus <burnus@net-b.de> |
| |
| * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation. |
| |
| 2007-05-16 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| PR fortran/18769 |
| PR fortran/30881 |
| PR fortran/31194 |
| PR fortran/31216 |
| PR fortran/31427 |
| * target-memory.c: New file. |
| * target-memory.h: New file. |
| * simplify.c: Add #include "target-memory.h". |
| (gfc_simplify_transfer): Implement constant- |
| folding for TRANSFER intrinsic. |
| * Make-lang.in: Add dependencies on new target-memory.* files. |
| |
| 2007-05-15 Paul Brook <paul@codesourcery.com> |
| |
| * trans-types.c (gfc_type_for_size): Handle signed TImode. |
| |
| 2007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/30723 |
| * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64, |
| gfor_fndecl_internal_free): Remove prototypes. |
| (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes. |
| * trans.c (gfc_call_malloc, gfc_call_free): New functions. |
| * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free |
| and __builtin_malloc builtins. |
| * trans-decl.c (gfor_fndecl_internal_malloc, |
| gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove. |
| (gfor_fndecl_os_error): Add. |
| (gfc_build_builtin_function_decls): Don't create internal_malloc, |
| internal_malloc64 and internal_free library function declaration. |
| Create os_error library call function declaration. |
| * trans-array.c (gfc_trans_allocate_array_storage, |
| gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, |
| gfc_conv_array_parameter, gfc_duplicate_allocatable): Use |
| gfc_call_malloc and gfc_call_free instead of building calls to |
| internal_malloc and internal_free. |
| * trans-expr.c (gfc_conv_string_tmp): Likewise. |
| * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp, |
| gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, |
| gfc_trans_where_2: Likewise. |
| * trans-intrinsic.c (gfc_conv_intrinsic_ctime, |
| gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, |
| gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise. |
| |
| 2007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31725 |
| * trans-expr.c (gfc_conv_substring): Evaluate substring bounds |
| only once. |
| |
| 2007-05-14 Rafael Ávila de Espíndola <espindola@google.com> |
| |
| * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove. |
| * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for |
| instead of gfc_unsigned_type. |
| * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of |
| gfc_unsigned_type. |
| * trans-types.c (gfc_unsigned_type): Remove. |
| * trans-types.h (gfc_unsigned_type): Remove. |
| |
| 2007-05-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/30746 |
| * resolve.c (check_host_association): New function that detects |
| incorrect host association and corrects it. |
| (gfc_resolve_expr): Call the new function for variables and |
| functions. |
| * match.h : Remove prototype for gfc_match_rvalue. |
| * gfortran.h : Add prototype for gfc_match_rvalue. |
| |
| 2007-05-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/30876 |
| * trans-expr.c (gfc_conv_function_call): Reduce indirection for |
| direct assignments of recursive array valued functions. |
| * primary.c (gfc_match_rvalue): Correct error for recursive |
| function calls such that directly recursive calls of scalar |
| function without an explicit result are disallowed. |
| |
| 2007-05-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/30878 |
| * resolve.c (resolve_fl_namelist): It is not an error if the |
| namelist element is the result variable of the enclosing |
| function. Search for the symbol in current and all parent |
| namespaces for a potential conflict. |
| * symbol.c (check_conflict): Remove the conflict between |
| 'in_namelist' and 'FL_PROCEDURE' because the symbol info |
| is not available to exclude function result variables. |
| * trans-io.c (nml_get_addr_expr): Use the fake result decl |
| if the symbol is an implicit result variable. |
| |
| 2007-05-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31474 |
| * decl.c (get_proc_name): If an entry has already been declared |
| as a module procedure, pick up the symbol and the symtree and |
| use them for the entry. |
| |
| 2007-05-08 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31630 |
| * resolve.c (resolve_symbol): Remove the flagging mechanism from the |
| formal namespace resolution and instead check that the formal |
| namespace is not the current namespace. |
| |
| 2007-05-08 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31692 |
| * trans-array.c (gfc_conv_array_parameter): Convert full array |
| references to the result of the procedure enclusing the call. |
| |
| 2007-05-08 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/29397 |
| PR fortran/29400 |
| * decl.c (add_init_expr_to_sym): Expand a scalar initializer |
| for a parameter array into an array expression with the right |
| shape. |
| * array.c (spec_dimen_size): Remove static attribute. |
| * gfortran.h : Prototype for spec_dimen_size. |
| |
| 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31399 |
| * trans-stmt.c (gfc_trans_do): Handle large loop counts. |
| |
| 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31764 |
| * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified |
| even for non constant arguments. |
| |
| 2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31201 |
| * gfortran.h: Add runtime error codes from libgfortran.h. Define |
| MAX_UNIT_NUMBER. |
| * trans.c (gfc_trans_runtime_check): Update the format of runtime error |
| messages to match library runtime errors. Use call to new library |
| function runtime_error_at(). |
| * trans.h: Add prototype for new function gfc_trans_io_runtime_check. |
| Add declaration for library functions runtime_error_at and |
| generate_error. |
| * trans_io.c (gfc_trans_io_runtime_check): New function. |
| (set_parameter_value): Add error checking for UNIT numbers. |
| (set_parameter_ref): Initialize the users variable to zero. |
| (gfc_trans_open): Move setting of unit number to after setting of common |
| flags so that runtime error trapping can be detected. |
| (gfc_trans_close): Likewise. (build_filepos): Likewise. |
| (gfc_trans_inquire): Likewise. (build_dt): Likewise. |
| * trans-decl.c: Add declarations for runtime_error_at and |
| generate_error. (gfc_build_builtin_function_decls): Build function |
| declarations for runtime_error_at and generate_error. |
| |
| 2007-05-06 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31540 |
| * resolve.c (resolve_fl_procedure): Resolve constant character |
| lengths. |
| |
| 2007-05-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31251 |
| * decl.c (match_char_spec): Add check for invalid character lengths. |
| |
| 2007-05-04 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * intrinsic.texi (CMPLX): Document result kind. |
| (COMPLEX): Add documentation. |
| |
| 2007-05-04 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31760 |
| * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1 |
| by gfc_check_fn_r to avoid checks for scalarity. |
| * check.c (gfc_check_besn): Removed check for scalarity. |
| (gfc_check_g77_math1): Removed. |
| * intrinsic.h (gfc_check_g77_math1): Removed. |
| |
| 2007-05-04 Daniel Franke <franke.daniel@gmail.com> |
| |
| * check.c (gfc_check_fseek_sub): Fixed typo. |
| |
| 2007-05-04 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/22359 |
| * intrinsic.c (add_subroutines): Added FSEEK. |
| * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New. |
| * iresolve.c (gfc_resolve_fseek_sub): New. |
| * check.c (gfc_check_fseek_sub): New. |
| * intrinsic.texi (FSEEK): Updated. |
| |
| 2007-05-04 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/31803 |
| * expr.c (gfc_check_pointer_assign): Check for NULL pointer. |
| |
| 2007-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31251 |
| * simplify.c (gfc_simplify_len): Only simplify integer lengths. |
| |
| 2007-05-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31781 |
| * simplify.c (gfc_simplify_repeat): Don't put function call with |
| side effect in a gcc_assert(). |
| |
| 2007-05-04 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/25071 |
| * interface.c (compare_actual_formal): Check character length. |
| |
| 2007-05-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/31732 |
| * dependency.c (gfc_full_array_ref_p): If the reference is |
| to a single element, check that the array has a single |
| element and that the correct element is referenced. |
| |
| 2007-05-01 Daniel Franke <franke.daniel@gmail.com> |
| |
| * intrinsic.c (add_functions): Fixed ELEMENTAL specifications. |
| (add_subroutines): Replaced magic numbers in function calls by |
| ELEMENTAL and NOT_ELEMENTAL respectively. |
| * intrinsic.texi (MVBITS): Changed class to elemental subroutine. |
| (RANDOM_NUMBER): Changed class to subroutine. |
| (HUGE, TINY): Changed class to inquiry function. |
| |
| 2007-04-30 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int. |
| (gfc_conv_tree_to_mpz): New function. |
| (gfc_conv_mpfr_to_tree): Use real_from_mpfr. |
| (gfc_conv_tree_to_mpfr): New function. |
| * trans-const.h: (gfc_conv_tree_to_mpz): New prototype. |
| (gfc_conv_tree_to_mpfr): New prototype. |
| |
| 2007-04-30 Daniel Franke <franke.daniel@gmail.com> |
| |
| * intrinsic.texi (IERRNO): Changed class to non-elemental function. |
| (LOG10): Removed COMPLEX as accepted argument type. |
| (NEW_LINE): Changed class from elemental to inquiry function. |
| (SIGN): Removed requirement of scalar arguments. |
| (SNGL): Changed class to elemental function. |
| |
| 2007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31591 |
| * simplify.c (simplify_bound_dim): New function. |
| (simplify_bound): Use the above. Perform simplification of LBOUND |
| and UBOUND when DIM argument is not present. |
| |
| 2007-04-29 Daniel Franke <franke.daniel@gmail.com> |
| |
| * gfortran.texi: Cleaned up keyword index. |
| * invoke.texi: Likewise. |
| * intrinsic.texi: Likewise. |
| |
| 2007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31645 |
| * scanner.c (load_file): Discard the byte order mark if one is |
| found on the first non-preprocessor line of a file. |
| |
| 2007-04-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31711 |
| * trans-array.c (gfc_conv_resolve_dependencies): Create a temp |
| whenever a dependency is found. |
| |
| 2007-04-28 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * options.c (gfc_handle_option): Ensure requested free form line |
| length is not too small. |
| |
| 2007-04-27 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * intrinsic.texi (Transfer): Improve documentation. |
| |
| 2007-04-27 Brooks Moses <brooks.moses@codesourcery.com> |
| |
| * gfortran.texi (Option Index): Add @samp as needed. |
| |
| 2007-04-27 Daniel Franke <franke.daniel@gmail.com> |
| |
| * gfortran.texi: Added node and menu entry for an option index. |
| * invoke.texi: Moved command line option related entries of the concept |
| index to the option index. |
| |
| 2007-04-27 Daniel Franke <franke.daniel@gmail.com> |
| |
| * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT, |
| XOR): Fixed examples. |
| |
| 2007-04-27 Daniel Franke <franke.daniel@gmail.com> |
| |
| * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, |
| SYSTEM_CLOCK, TRANSFER, UNPACK): New. |
| (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references. |
| |
| 2007-04-26 Daniel Franke <franke.daniel@gmail.com> |
| |
| * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, |
| SIZE, TRANSPOSE, TRIM, VERIFY): New. |
| (ADJUSTL, ADJUSTR, INDEX): Added cross references. |
| (INT, INT2, INT8, LONG): Enabled section header. |
| |
| 2007-04-25 Janne Blomqvist <jb@gcc.gnu.org> |
| |
| * module.c (module_char): Replace fgetc() with |
| getc(). |
| (write_char): Replace fputc() with putc(). |
| * scanner.c (load_line): Replace fgetc() with getc(). |
| (gfc_read_orig_filename): Likewise. |
| |
| 2007-04-25 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/31668 |
| * error.c (error_print): Fix %% support. |
| * intrinsic.c (sort_actual): Improve error message. |
| * resolve.c (resolve_actual_arglist): Allow %VAL for |
| interfaces defined in the module declaration part. |
| |
| 2007-04-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR libfortran/31299 |
| * intrinsic.texi (GETLOG): Update documentation to reflect |
| library changes. |
| |
| 2007-04-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/31587 |
| * module.c (write_char): Add character to the MD5 buffer. |
| (read_md5_from_module_file): New function. |
| (gfc_dump_module): Compute MD5 for new module file. Call |
| read_md5_from_module_file. Only overwrite old module file |
| if the new MD5 is different. |
| |
| 2007-04-23 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31630 |
| * resolve.c (resolve_symbol): Allow resolution of formal |
| namespaces nested within formal namespaces coming from modules. |
| |
| PR fortran/31620 |
| * trans-expr.c (gfc_trans_assignment): Make the call to |
| gfc_trans_zero_assign conditional on the lhs array ref being |
| the only reference. |
| |
| 2007-04-23 Tobias Burnus <burnus@net-b.de> |
| |
| * primary.c (match_integer_constant): Mention -fno-range-check |
| in the error message. |
| |
| 2007-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
| |
| PR fortran/31495 |
| * scanner.c (load_line): Remove check for comment after ampersand and |
| adjust tracking of ampersand. |
| |
| 2007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com> |
| |
| * f95-lang.c (lang_tree_node): Use GENERIC_NEXT |
| instead of checking GIMPLE_STMT_P in chain_next. |
| |
| 2007-04-17 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * trans-types.h (gfc_packed): New enum. |
| (gfc_get_nodesc_array_type): Change prototype to use new enum. |
| * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for |
| argument packed. Adapt all references to values accordingly. |
| (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array. |
| (gfc_get_derived_type): Likewise. |
| * trans-array.c (gfc_build_constant_array_constructor): Likewise. |
| * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed |
| argument to type gfc_packed. |
| (gfc_add_interface_mapping): Use enum values in call to |
| gfc_get_interface_mapping. |
| * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum |
| values when determining packing. |
| |
| * trans-decl.c (gfc_finish_decl): Remove unused second argument |
| 'init'. Simplify code accordingly. Remove calls to |
| gfc_fatal_error in favor of gcc_assert. |
| (create_function_arglist): Remove second argument from calls to |
| gfc_finish-decl. |
| (gfc_trans_dummy_character): Likewise. |
| |
| * arith.h: Update copyright years. |
| * dependency.h: Likewise. |
| * gfortran.h: Likewise. |
| * lang-specs.h: Likewise. |
| * parse.h: Likewise. |
| * symbol.c: Likewise. |
| * trans.h: Likewise. |
| * trans.c: Likewise. |
| * trans-array.c: Likewise. |
| * trans-common.c: Likewise. |
| * trans-const.h: Likewise. |
| * trans-const.c: Likewise. |
| * trans-decl.c: Likewise. |
| * trans-expr.c: Likewise. |
| * trans-io.c: Likewise. |
| * trans-openmp.c: Likewise. |
| * trans-types.h: Likewise. |
| * types.def: Likewise. |
| |
| 2007-04-17 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/31144 |
| * decl.c (gfc_sym_mangled_identifier): Use capital letters in name |
| mangling. |
| (gfc_sym_mangled_function_id): Likewise. |
| |
| 2007-04-15 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31204 |
| * primary.c (check_for_implicit_index): New function to check |
| that a host associated variable is not an undeclared implied |
| do loop index. |
| (gfc_match_rvalue, match_variable): Use it and reset the |
| implied_index attribute. |
| * gfortran.h : Add the implied_index field to symbol_attribute. |
| * match.c (gfc_match_iterator): Mark the iterator variable |
| with the new attribute. |
| * decl.c (build_sym): Reset the new attribute. |
| |
| 2007-04-15 Kazu Hirata <kazu@codesourcery.com> |
| |
| * gfc-internals.texi: Fix typos. |
| * simplify.c: Fix a comment typo. |
| |
| 2007-04-14 Bernhard Fischer <aldot@gcc.gnu.org> |
| |
| * primary.c: Commentary typo fix; Add question about redundant (?) |
| set. |
| |
| 2007-04-14 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/29507 |
| PR fortran/31404 |
| * expr.c (scalarize_intrinsic_call): New function to |
| scalarize elemental intrinsic functions in initialization |
| expressions. |
| (check_init_expr): Detect elemental intrinsic functions |
| in initalization expressions and call previous. |
| |
| 2007-04-13 Tobias Burnus <burnus@net-b.de> |
| |
| PR fortran/31559 |
| * primary.c (match_variable): External functions |
| are no variables. |
| |
| 2007-04-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/31550 |
| * trans-types.c (copy_dt_decls_ifequal): Do not get pointer |
| derived type components. |
| |
| 2007-04-13 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/18937 |
| * resolve.c: Include obstack.h and bitmap.h. New variable |
| labels_obstack. |
| (code_stack): Add tail and reachable_labels fields. |
| (reachable_labels): New function. |
| (resolve_branch): Rework to use new fields in code_stack. |
| (resolve_code): Call reachable_labels. |
| (resolve_codes): Allocate and free labels_obstack. |
| |
| 2007-04-12 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/31250 |
| * decl.c (match_char_spec): Move check for negative CHARACTER |
| length ... |
| * resolve.c (resolve_charlen): ... here. |
| (resolve_types): Resolve CHARACTER lengths earlier. |
| |
| 2007-04-12 Daniel Franke <franke.daniel@gmail.com> |
| |
| PR fortran/31234 |
| * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New. |
| |
| 2007-04-12 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| PR fortran/31266 |
| * primary.c (gfc_variable_attr): Don't copy string length if it |
| doesn't make sense. |
| * resolve.c (resolve_code): Clarify error message. |
| |
| PR fortran/31471 |
| * decl.c (gfc_match_end): Also check for construct name in END |
| FORALL and END WERE statements. |
| * match.c (match_case_eos): Use uppercase for statement name in |
| error message. |
| (match_elsewhere): Construct name may appear iff construct has a |
| name. |
| |
| * trans-types.c: Update copyright years. Reformat long comment |
| explaining array descriptor format. Remove obsolete mention of |
| TYPE_SET. |
| |