5777 lines
200 KiB
Plaintext
5777 lines
200 KiB
Plaintext
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.
|
||
|
||
* arith.c (gfc_arith_uplus): Rename to ...
|
||
(gfc_arith_identity): ... this.
|
||
(gfc_parentheses): New function.
|
||
(gfc_uplus): Adapt to renamed function.
|
||
* arith.h (gfc_parentheses): Add prototype.
|
||
* expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
|
||
(simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
|
||
INTRINSIC_PARENTHESES.
|
||
|
||
2007-04-12 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/31472
|
||
* decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
|
||
attribute in type definitions.
|
||
(gfc_match_private): Allow PRIVATE statement only
|
||
in specification part of modules.
|
||
(gfc_match_public): Ditto for PUBLIC.
|
||
(gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
|
||
specificification part of modules.
|
||
|
||
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31257
|
||
* intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
|
||
* intrinsic.h : Add prototype for gfc_resolve_achar.
|
||
* iresolve.c (gfc_resolve_achar): New function.
|
||
|
||
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30880
|
||
* resolve.c (resolve_fl_variable): Set flag to 2 for automatic
|
||
arrays. Make condition for automatic array error explicit.
|
||
If a dummy, no error on an INTENT(OUT) derived type.
|
||
|
||
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30872
|
||
* expr.c (find_array_element): Correct arithmetic for rank > 1.
|
||
|
||
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31222
|
||
* check.c (numeric_check): If an expresson has not got a type,
|
||
see if it is a symbol for which a default type applies.
|
||
|
||
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31214
|
||
* trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
|
||
associated symbols.
|
||
|
||
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31293
|
||
* symbol.c (gfc_check_function_type): New function.
|
||
* gfortran.h : Add prototype for previous.
|
||
* parse.c (parse_progunit): Call it after parsing specification
|
||
statements.
|
||
|
||
2007-04-05 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31483
|
||
* trans-expr.c (gfc_conv_function_call): Give a dummy
|
||
procedure the correct type if it has alternate returns.
|
||
|
||
2007-04-05 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31292
|
||
* decl.c (gfc_match_modproc): Go up to the top of the namespace
|
||
tree to find the module namespace for gfc_get_symbol.
|
||
|
||
2007-04-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR fortran/31304
|
||
* fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
|
||
* fortran/trans-types.c (gfc_charlen_int_kind): New variable.
|
||
(gfc_init_types): Define gfc_charlen_int_kind.
|
||
* fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
|
||
* fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
|
||
(gfc_build_intrinsic_function_decls): Don't set
|
||
gfor_fndecl_string_repeat.
|
||
* fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
|
||
so that we don't have to call a library function.
|
||
* fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
|
||
checks on the NCOPIES argument, and work with arbitrary size
|
||
arguments.
|
||
|
||
2007-03-31 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* intrinsic.c (add_functions): Fix name of dummy argument
|
||
for new_line and exit intrinsic.
|
||
|
||
2007-03-31 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31160
|
||
* gfortran.texi: Add a section for the %VAL, %REF and %LOC
|
||
extensions.
|
||
|
||
2007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
|
||
|
||
* trans-types.c (gfc_signed_or_unsigned_type): Remove.
|
||
(gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
|
||
gfc_signed_or_unsigned_type.
|
||
(gfc_signed_type): Ditto.
|
||
* trans-types.h (gfc_signed_or_unsigned_type): Remove.
|
||
* f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
|
||
|
||
2007-03-30 Tobias Schlüter <tobi@gcc.gnu.org>
|
||
|
||
* symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
|
||
descend into all branches.
|
||
|
||
2007-03-29 Tobias Schlüter <tobi@gcc.gnu.org>
|
||
|
||
* intrinsic.c (conv_name): Let gfc_get_string handle the format.
|
||
(find_conv): Compare pointers instead of calling strcmp.
|
||
(find_sym): Likewise, but ensure that the compared pointer is in
|
||
the global string table.
|
||
|
||
2007-03-28 Tobias Schlüter <tobi@gcc.gnu.org>
|
||
|
||
* gfc-internals.texi: Fix output filename. Merge type index into
|
||
concept index. Start documentation of gfc_code structure.
|
||
|
||
2007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfc-internals.texi: New file,
|
||
* Make-lang.in: Add rules to convert it to dvi, pdf, and info.
|
||
|
||
2007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* error.c (show_locus): Remove always-false test.
|
||
|
||
2007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* lang.opt: Minor edits to descriptions.
|
||
|
||
2007-03-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR fortran/30877
|
||
* fortran/interface.c (check_operator_interface): Implement
|
||
the standard checks on user operators extending intrinsic operators.
|
||
* fortran/resolve.c (resolve_operator): If the ranks of operators
|
||
don't match, don't error out but try the user-defined ones first.
|
||
|
||
2007-03-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR fortran/30655
|
||
* expr.c (check_dimension): Fix logic of comparisons.
|
||
|
||
2007-03-24 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31215
|
||
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
|
||
int result that is non-zero if the expression is the function
|
||
result. Only the characteristics of the result expression
|
||
can be used in a procedure interface, so simplify LEN in situ
|
||
using its character length.
|
||
|
||
PR fortran/31209
|
||
PR fortran/31200
|
||
* trans-expr.c (gfc_conv_function_call): Do not use
|
||
gfc_conv_expr_reference for actual pointer function with formal
|
||
target because a temporary is created that does not transfer
|
||
the reference correctly. Do not indirect formal pointer
|
||
functions since it is the function reference that is needed.
|
||
|
||
2007-03-24 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.h: Edit comments on GFC_STD_*.
|
||
|
||
2007-03-23 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* invoke.texi: Misc. small typo fixes.
|
||
(-Wcharacter-truncation): Add.
|
||
(-Wnonstd-intrinsics): Correct spelling.
|
||
(-std=): Edit.
|
||
(-fintrinsic-modules-path): Add.
|
||
|
||
2007-03-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR fortran/30834
|
||
* arith.c (complex_pow): Rewrite to handle large power.
|
||
(gfc_arith_power): Handle large power in the real and integer
|
||
cases.
|
||
|
||
2007-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/31262
|
||
* trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
|
||
larger than twice the width of a HOST_WIDE_INT.
|
||
|
||
2007-03-22 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31193
|
||
* trans-intrinsic.c (gfc_size_in_bytes): Remove function.
|
||
(gfc_conv_intrinsic_array_transfer): Remove calls to previous.
|
||
Explicitly extract TREE_TYPEs for source and mold. Use these
|
||
to calculate length of source and mold, except for characters,
|
||
where the se string_length is used. For mold, the TREE_TYPE is
|
||
recalculated using gfc_get_character_type_len so that the
|
||
result is correctly cast for character literals and substrings.
|
||
Do not use gfc_typenode_for_spec for the final cast.
|
||
|
||
2007-03-22 Tobias Schlüter <tobi@gcc.gnu.org>
|
||
|
||
PR fortran/20897
|
||
* decl.c (gfc_match_derived_decl): Reliably reject
|
||
'doubleprecision' and 'doublecomplex' as type names.
|
||
|
||
2007-03-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/31203
|
||
* trans-expr.c (gfc_trans_init_string_length): Length should
|
||
never be negative.
|
||
(gfc_conv_function_call): Likewise.
|
||
|
||
2007-03-18 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30531
|
||
PR fortran/31086
|
||
* symbo.c : Add gfc_derived_types.
|
||
(gfc_free_dt_list): Free derived type list gfc_derived_types.
|
||
(gfc_free_namespace): Remove call to gfc_free_dt_list.
|
||
(gfc_symbol_done_2): Call gfc_free_dt_list.
|
||
* gfortran.h : Declare gfc_derived_types to be external. Remove
|
||
derived types field from gfc_namespace.
|
||
* resolve.c (resolve_fl_derived): Refer to gfc_derived types
|
||
rather than namespace derived_types.
|
||
(resolve_fntype): Remove special treatment for module
|
||
derived type functions.
|
||
* trans-types.c (gfc_get_derived_type): Remove search for like
|
||
derived types. Finish by copying back end declaration to like
|
||
derived types in the derived type list gfc_derived_types.
|
||
|
||
2007-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/31120
|
||
* trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
|
||
(gfc_conv_cst_int_power): Handle integer exponent with care,
|
||
since it might be too large for us.
|
||
|
||
2007-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/31184
|
||
* invoke.texi: Fix typo.
|
||
|
||
2007-03-16 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* trans-decl.c (gfc_generate_function_code): Use all arguments of
|
||
set_std.
|
||
|
||
2007-03-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
* gfortran.h (gfc_option_t): Add flag_backtrace field.
|
||
* lang.opt: Add -fbacktrace option.
|
||
* invoke.texi: Document the new option.
|
||
* trans-decl.c (gfc_build_builtin_function_decls): Add new
|
||
option to the call to set_std.
|
||
* options.c (gfc_init_options, gfc_handle_option): Handle the
|
||
new option.
|
||
|
||
2007-03-15 Tobias Burnus <burnus@gcc.gnu.org>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30922
|
||
* decl.c (gfc_match_import): If the parent of the current name-
|
||
space is null, try looking for an imported symbol in the parent
|
||
of the proc_name interface.
|
||
* resolve.c (resolve_fl_variable): Do not check for blocking of
|
||
host association by a same symbol, if the symbol is in an
|
||
interface body.
|
||
|
||
2007-03-15 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30879
|
||
* decl.c (match_data_constant): Before going on to try to match
|
||
a name, try to match a structure component.
|
||
|
||
|
||
PR fortran/30870
|
||
* resolve.c (resolve_actual_arglist): Do not reject a generic
|
||
actual argument if it has a same name specific interface.
|
||
|
||
PR fortran/31163
|
||
* trans-array.c (parse_interface): Do not nullify allocatable
|
||
components if the symbol has the saved attribute.
|
||
|
||
2007-03-14 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
* trans-array.c (gfc_trans_auto_array_allocation): Replace
|
||
fold(convert()) by fold_convert().
|
||
(gfc_duplicate_allocatable): Likewise.
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
|
||
build_int_cst instead of converting an integer_zero_node
|
||
to the final type.
|
||
|
||
2007-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
|
||
|
||
2007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
PR fortran/30933
|
||
PR fortran/30948
|
||
PR fortran/30953
|
||
* intrinsics.texi (CHDIR): Fix argument names, note
|
||
that STATUS must be a default integer.
|
||
(CTIME): Fix argument names, note that RESULT must
|
||
be a default integer.
|
||
(EXIT): Note that STATUS must be a default integer.
|
||
|
||
2007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
PR fortran/28068
|
||
* intrinsic.texi: General whitespace cleanup, remove
|
||
comment about missing intrinsics.
|
||
(menu): Add lines for new entries listed below.
|
||
(ACOSH): Mention specific function DACOSH, correct
|
||
description phrasing.
|
||
(ASINH): Mention specific function DASINH, correct
|
||
description phrasing.
|
||
(ATANH): Mention specific function DATANH, correct
|
||
description phrasing.
|
||
(COS): Add index entry for CCOS.
|
||
(CPU_TIME): Correct "REAL" to "REAL(*)".
|
||
(EXP): Add index entry for CEXP.
|
||
(INT): Correct argument name to "A".
|
||
(INT2): New entry.
|
||
(INT8): New entry.
|
||
(LONG): New entry.
|
||
(MAX): Add index entries for specific variants.
|
||
(MCLOCK): New entry.
|
||
(MCLOCK8): New entry.
|
||
(SECNDS): Adjust to a more standard form.
|
||
(SECOND): New entry.
|
||
(TIME): Add cross-reference to MCLOCK.
|
||
(TIME8): Add cross-reference to MCLOCK8.
|
||
|
||
2007-03-11 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30883
|
||
* parse.c (parse_interface): Use the default types from the
|
||
formal namespace if a function or its result do not have a type
|
||
after parsing the specification statements.
|
||
|
||
2007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: (ICHAR) Improve internal I/O note.
|
||
(ACHAR): Reference it.
|
||
(CHAR): Reference it.
|
||
(IACHAR): Reference it.
|
||
|
||
2007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: (LINK) Document function form.
|
||
(RENAME): Likewise.
|
||
(SYMLNK): Likewise.
|
||
(SYSTEM): Likewise.
|
||
(UNLINK): Likewise.
|
||
|
||
2007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: minor typo fixes, removed prologue.
|
||
(FSEEK): moved to correct place in alphabetical order.
|
||
|
||
2007-03-08 Daniel Franke <franke.daniel@gmail.com>
|
||
|
||
PR fortran/30947
|
||
* check.c (gfc_check_alarm_sub): Added check for default integer
|
||
kind of status argument.
|
||
* iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
|
||
status argument.
|
||
* intrinsic.texi (ALARM): Extended documentation.
|
||
|
||
2007-03-08 Daniel Franke <franke.daniel@gmail.com>
|
||
|
||
* intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
|
||
(ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
|
||
* intrinsic.c (add_subroutines): Adjusted dummy argument names
|
||
of GERROR and TTYNAM.
|
||
|
||
2007-07-08 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* module.c (gfc_match_use): Support renaming of operators
|
||
in USE statements.
|
||
* gfortran.texi (Fortran 2003 Status): Document support of
|
||
renaming of operators.
|
||
|
||
2007-07-08 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30973
|
||
* module.c (read_module): Always import module name as symbol.
|
||
(gfc_match_use): Disallow module name in the only clause of
|
||
a use statement.
|
||
|
||
2007-03-08 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/31011
|
||
* expr.c (find_array_section): Correct arithmetic for section
|
||
size.
|
||
|
||
2007-03-07 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
|
||
|
||
2007-03-06 Daniel Franke <franke.daniel@gmail.com>
|
||
|
||
PR documentation/30950
|
||
* intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
|
||
(FREE): Fix call syntax.
|
||
|
||
2007-03-06 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: Limit column widths to a total of .85.
|
||
|
||
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi (GFortran and G77): Rewrite completely.
|
||
|
||
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* match.c (gfc_match_name): Expanded comment.
|
||
|
||
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi (Old-style kind specifications): Document
|
||
special handling of old-style kind specifiers for COMPLEX.
|
||
* decl.c (gfc_match_old_kind_spec): Document kind/bytesize
|
||
assumptions for COMPLEX in comment.
|
||
|
||
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
PR 31050
|
||
* gfortranspec.c (lang_specific_driver): Update program
|
||
name and copyright date.
|
||
|
||
2007-03-03 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30882
|
||
* check.c (dim_rank_check): The shape of subsections of
|
||
assumed-size arrays is known.
|
||
|
||
2007-03-02 Paul Thomas <pault@gcc.gnu.org>
|
||
Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30873
|
||
* decl.c (gfc_match_entry): Remove erroneous entry result check.
|
||
|
||
2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* Make-lang.in: Add install-pdf target as copied from
|
||
automake v1.10 rules.
|
||
|
||
2007-03-01 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30865
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
|
||
|
||
2007-02-28 Tobias Burnus <burnus@net-b.de>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30888
|
||
PR fortran/30887
|
||
* resolve.c (resolve_actual_arglist): Allow by-value
|
||
arguments and non-default-kind for %VAL().
|
||
* trans-expr.c (conv_arglist_function): Allow
|
||
non-default-kind for %VAL().
|
||
|
||
2007-02-28 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30968
|
||
* primary.c (next_string_char): Correct reading a character
|
||
after the delimiter.
|
||
(match_string_constant): Print warning message only once.
|
||
|
||
2007-02-27 Richard Guenther <rguenther@suse.de>
|
||
|
||
* trans-array.c (structure_alloc_comps): Use correct type
|
||
for null pointer constant.
|
||
|
||
2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi: Standardize title page, remove version number
|
||
from copyright page.
|
||
|
||
2007-02-26 Thomas Koenig <Thomas.Koenig@online.de>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30865
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_size):
|
||
If dim is an optional argument, check for its
|
||
presence and call size0 or size1, respectively.
|
||
|
||
2007-02-23 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30660
|
||
* resolve.c (has_default_initializer): New function.
|
||
(resolve_fl_variable): Call has_default_initializer to determine if
|
||
the derived type has a default initializer to its ultimate
|
||
components.
|
||
|
||
|
||
2007-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
* options.c (set_default_std_flags): New function to consolidate
|
||
setting the flags.
|
||
(gfc_init_options): Use new function.
|
||
(gfc_handle_option): Use new function.
|
||
|
||
2007-02-22 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi (Old-style kind specifications): Document
|
||
special handling of old-style kind specifiers for COMPLEX.
|
||
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
|
||
assumptions in comment.
|
||
|
||
2007-02-21 Bernhard Fischer <aldot@gcc.gnu.org>
|
||
|
||
* parse.c (next_free): Gooble spaces after OpenMP sentinel.
|
||
|
||
2007-02-20 Thomas Koenig <Thomas.Koenig@online.de>
|
||
|
||
PR fortran/30869
|
||
* match.c (gfc_match_iterator): Remove conflict between
|
||
loop variable and pointer.
|
||
|
||
2007-02-20 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30522
|
||
* symbol.c (gfc_add_volatile): Allow to set VOLATILE
|
||
attribute for host-associated variables.
|
||
* gfortran.h (symbol_attribute): Save namespace
|
||
where VOLATILE has been set.
|
||
* trans-decl.c (gfc_finish_var_decl): Move variable
|
||
declaration to the top.
|
||
|
||
2007-02-20 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30783
|
||
* resolve.c (resolve_symbol): Add character dummy VALUE check.
|
||
|
||
2007-02-19 Thomas Koenig <Thomas.Koenig@online.de>
|
||
|
||
PR libfortran/30533
|
||
* fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
|
||
argument to default integer.
|
||
(gfc_resolve_minloc): Likewise.
|
||
|
||
2007-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/30681
|
||
* options.c (gfc_init_options): Relax warning level for obsolescent.
|
||
* match.c (match_arithmetic_if): Change to obsolescent from deleted.
|
||
(gfc_match_if): Same.
|
||
|
||
2007-02-18 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-array.c (gfc_build_constant_array_constructor): When the
|
||
shape of the constructor is known, use that to construct the
|
||
gfc_array_spec.
|
||
(gfc_trans_constant_array_constructor): Initialize the "info"
|
||
information for all of the dimensions of the array constructor.
|
||
(constant_array_constructor_loop_size): New function.
|
||
(gfc_trans_array_constructor): Use it to determine whether a
|
||
loop is suitable for "constant array constructor" optimization.
|
||
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
|
||
instead of build2, to avoid conditions like "(a != b) != 0".
|
||
|
||
2007-02-18 Roger Sayle <roger@eyesopen.com>
|
||
Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30400
|
||
* match.c (match_forall_iterator): Use gfc_match_expr instead
|
||
of gfc_match_variable to match the iterator variable. Return
|
||
MATCH_NO if not a variable. Remove the reset of the symbol's
|
||
flavor in cleanup.
|
||
|
||
2007-02-16 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30793
|
||
* trans-decl.c (gfc_generate_function_code): Do not initialize
|
||
pointers to derived components.
|
||
|
||
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
|
||
Brooks Moses <brooks.moses@codesourcery.com>
|
||
Lee Millward <lee.millward@codesourcery.com>
|
||
|
||
* trans-expr.c (gfc_conv_power_op): Use build_call_expr.
|
||
(gfc_conv_string_tmp): Likewise.
|
||
(gfc_conv_concat_op): Likewise.
|
||
(gfc_build_compare_string): Likewise.
|
||
(gfc_conv_function_call): Use build_call_list instead of build3.
|
||
|
||
* trans-array.c (gfc_trans_allocate_array_storage): Use
|
||
build_call_expr.
|
||
(gfc_grow_array): Likewise.
|
||
(gfc_trans_array_ctor_element): Likewise.
|
||
(gfc_trans_array_constructor_value): Likewise.
|
||
(gfc_array_allocate): Likewise.
|
||
(gfc_array_deallocate): Likewise.
|
||
(gfc_trans_auto_array_allocation): Likewise.
|
||
(gfc_trans_dummy_array_bias): Likewise.
|
||
(gfc_conv_array_parameter): Likewise.
|
||
(gfc_trans_dealloc_allocated): Likewise.
|
||
(gfc_duplicate_allocatable): Likewise.
|
||
|
||
* trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
|
||
(gfc_trans_omp_flush): Likewise.
|
||
|
||
* trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
|
||
(gfc_trans_pause): Likewise.
|
||
(gfc_trans_stop): Likewise.
|
||
(gfc_trans_character_select): Likewise.
|
||
(gfc_do_allocate): Likewise.
|
||
(gfc_trans_assign_need_temp): Likewise.
|
||
(gfc_trans_pointer_assign_need_temp): Likewise.
|
||
(gfc_trans_forall_1): Likewise.
|
||
(gfc_trans_where_2): Likewise.
|
||
(gfc_trans_allocate): Likewise.
|
||
(gfc_trans_deallocate): Likewise.
|
||
|
||
* trans.c (gfc_trans_runtime_check): Use build_call_expr.
|
||
|
||
* trans-io.c (gfc_trans_open): Use build_call_expr.
|
||
(gfc_trans_close): Likewise.
|
||
(build_filepos): Likewise.
|
||
(gfc_trans_inquire): Likewise.
|
||
(NML_FIRST_ARG): Delete.
|
||
(NML_ADD_ARG): Delete.
|
||
(transfer_namelist_element): Use build_call_expr.
|
||
(build_dt): Likewise.
|
||
(gfc_trans_dt_end): Likewise.
|
||
(transfer_expr): Likewise.
|
||
(transfer_array-desc): Likewise.
|
||
|
||
* trans-decl.c (gfc_generate_function_code): Use build_call_expr.
|
||
(gfc_generate_constructors): Likewise.
|
||
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
|
||
(gfc_conv_intrinsic_fdate): Likewise.
|
||
(gfc_conv_intrinsic_ttynam): Likewise.
|
||
(gfc_conv_intrinsic_array_transfer): Likewise.
|
||
(gfc_conv_associated): Likewise.
|
||
(gfc_conv_intrinsic_si_kind): Likewise.
|
||
(gfc_conv_intrinsic_trim): Likewise.
|
||
(gfc_conv_intrinsic_repeat: Likewise.
|
||
(gfc_conv_intrinsic_iargc): Likewise.
|
||
|
||
2007-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/30779
|
||
* scanner.c (gfc_next_char_literal): Add check for end of file after
|
||
call to advance_line.
|
||
|
||
2007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/30799
|
||
* primary.c (match_logical_constant): Return MATCH_ERROR on invalid
|
||
kind.
|
||
|
||
2007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* misc.c (gfc_typename): Fix potential buffer overflow.
|
||
|
||
2007-02-13 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30554
|
||
* module.c (read_module): Set pointer_info to referenced if the
|
||
symbol has no namespace.
|
||
|
||
2007-02-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* lang.opt: Add Warning attribute to warning options.
|
||
|
||
2007-02-11 Daniel Franke <franke.daniel@gmail.com>
|
||
|
||
* intrinsic.texi (HOSTNM): Fix typographical error in syntax.
|
||
(SLEEP): Added section and documentation.
|
||
|
||
2007-02-11 Tobias Schlüter <tobi@gcc.gnu.org>
|
||
|
||
PR fortran/30478
|
||
* decl.c (add_init_expr_to_sym): Remove ENUM specific code.
|
||
(variable_decl): Likewise. Rewrap comment.
|
||
(match_attr_spec): Remove ENUM specific code.
|
||
(gfc_match_enum): Fix typo in error message.
|
||
(enumerator_decl): New function.
|
||
(gfc_match_enumerator_def): Use enumerator_decl instead of
|
||
variable_decl. Adapt code accordingly.
|
||
|
||
2007-02-11 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30554
|
||
* module.c (find_symtree_for_symbol): New function to return
|
||
a symtree that is not a "unique symtree" given a symbol.
|
||
(read_module): Do not automatically set pointer_info to
|
||
referenced because this inhibits the generation of a unique
|
||
symtree. Recycle the existing symtree if possible by calling
|
||
find_symtree_for_symbol.
|
||
|
||
PR fortran/30319
|
||
* decl.c (add_init_expr_to_sym): Make new charlen for an array
|
||
constructor initializer.
|
||
|
||
2007-02-10 Richard Henderson <rth@redhat.com>, Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
|
||
and __emutls_register_common.
|
||
* openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
|
||
* trans-common.c (build_common_decl): Don't check have_tls.
|
||
* trans-decl.c (gfc_finish_var_decl): Likewise.
|
||
* types.def (BT_WORD, BT_FN_PTR_PTR): New.
|
||
(BT_FN_VOID_PTR_WORD_WORD_PTR): New.
|
||
|
||
2007-02-09 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30512
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
|
||
gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
|
||
|
||
2007-02-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/30720
|
||
* trans-array.c (gfc_trans_create_temp_array): Remove use of the
|
||
function argument. Always generate code for negative extent.
|
||
Simplify said code.
|
||
* trans-array.h (gfc_trans_create_temp_array): Change prototype.
|
||
* trans-expr.c (gfc_conv_function_call): Remove use of last argument
|
||
of gfc_trans_create_temp_array.
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
|
||
* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
|
||
|
||
2007-02-08 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
|
||
mask expression is a compile-time constant (".true." or ".false.").
|
||
|
||
2007-02-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/30611
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
|
||
arguments only once. Generate check that NCOPIES argument is not
|
||
negative.
|
||
|
||
2007-02-04 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/30605
|
||
* fortran/invoke.texi: Update documentation.
|
||
* fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
|
||
and -pedantic.
|
||
|
||
2007-02-03 Kazu Hirata <kazu@codesourcery.com>
|
||
|
||
* trans-array.c: Fix a comment typo.
|
||
|
||
2007-02-03 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30514
|
||
* array.c (match_array_element_spec): If the length of an array is
|
||
negative, adjust the upper limit to make it zero length.
|
||
|
||
PR fortran/30660
|
||
* resolve.c (pure_function, resolve_function): Initialize name to
|
||
null to clear up build warnings.
|
||
(resolve_fl_variable): Look at components explicitly to check for
|
||
default initializer, rather than using gfc_default_initializer.
|
||
|
||
2007-02-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/30683
|
||
* resolve.c (resolve_generic_f): Check for non-NULL sym.
|
||
|
||
2007-02-02 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
|
||
NON_LVALUE_EXPR nodes and useless type conversions.
|
||
|
||
2007-02-02 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30284
|
||
PR fortran/30626
|
||
* trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
|
||
from function and make sure that substring lengths are
|
||
translated.
|
||
(is_aliased_array): Remove static attribute.
|
||
* trans.c : Add prototypes for gfc_conv_aliased_arg and
|
||
is_aliased_array.
|
||
* trans-io.c (set_internal_unit): Add the post block to the
|
||
arguments of the function. Use is_aliased_array to check if
|
||
temporary is needed; if so call gfc_conv_aliased_arg.
|
||
(build_dt): Pass the post block to set_internal_unit and
|
||
add to the block after all io activiy is done.
|
||
|
||
2007-02-01 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-array.c (gfc_conv_expr_descriptor): We don't need to use
|
||
a temporary array to pass a constant non-character array constructor.
|
||
Generalize the descriptor generation code to handle scalarizer
|
||
"info" without an array reference.
|
||
|
||
2007-02-01 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
|
||
dependency checking for array constructors.
|
||
|
||
2007-02-01 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-stmt.c (compute_overall_iter_number): Document function
|
||
arguments. Generalize "unconditional forall nest with constant
|
||
bounds" optimization to eliminate unconditional inner loops with
|
||
constant bounds.
|
||
|
||
2007-01-31 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30520
|
||
* interface.c (compare_actual_formal): Check conformance between
|
||
actual and VOLATILE dummy arguments.
|
||
* symbol.c (gfc_add_volatile): Allow setting of VOLATILE
|
||
multiple times in different scopes.
|
||
* decl.c (gfc_match_volatile): Search symbol in host association.
|
||
|
||
2007-01-31 Kazu Hirata <kazu@codesourcery.com>
|
||
|
||
* simplify.c, trans-array.c: Fix comment typos.
|
||
|
||
2007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
* invoke.texi (Code Gen Options): Fix abbreviation typo.
|
||
* intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
|
||
|
||
2007-01-30 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
PR fortran/30432
|
||
* trans-types.c (gfc_get_function_type): Do not add void_type_node
|
||
to empty arg list.
|
||
* trans-decl.c (create_function_arglist): Change assert.
|
||
|
||
2007-01-29 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30554
|
||
* module.c (read_module): If a symbol is excluded by an ONLY
|
||
clause, check to see if there is a symtree already loaded. If
|
||
so, attach the symtree to the pointer_info.
|
||
|
||
2007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
|
||
|
||
PR libfortran/30389
|
||
* gfortran.h: Remove gfc_simplify_init_1.
|
||
* arith.h: Remove third argument from gfc_compare_string.
|
||
* arith.c (gfc_compare_expression): Remove third argument
|
||
from call to gfc_compare_string.
|
||
(gfc_compare_string): Remove third argument xcoll_table.
|
||
Remove use of xcoll_table.
|
||
* misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
|
||
* simplify.c (ascii_table): Remove.
|
||
(xascii_table): Likewise.
|
||
(gfc_simplify_achar): ICE if extract_int fails. Remove use of
|
||
ascii_table. Warn if -Wsurprising and value < 0 or > 127.
|
||
(gfc_simplify_char): ICE if extract_int fails. Error if
|
||
value < 0 or value > 255.
|
||
(gfc_simplify_iachar): Remove use of xascii_table.
|
||
Char values outside of 0..255 are an ICE.
|
||
(gfc_simplify_lge): Remove use of xascii_table.
|
||
(gfc_simplify_lgt): Likewise.
|
||
(gfc_simplify_lle): Likewise.
|
||
(gfc_simplify_llt): Likewise.
|
||
(invert_table): Remove.
|
||
(gfc_simplify_init_1): Remove.
|
||
|
||
2007-01-27 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-stmt.c (forall_info): Replace the next_nest and outer
|
||
fields that previously implemented a doubly-linked list with a
|
||
single prev_nest field (singly-linked list).
|
||
(gfc_trans_nested_forall_loop): The nested_forall_info argument
|
||
now denotes the innermost FORALL in the loop nest.
|
||
(compute_overall_iter_number): Use prev_nest instead of next_nest.
|
||
(gfc_trans_forall_1): Link/cons the new "info" to the head of the
|
||
nested_forall_info linked list. Free the current "info" when done.
|
||
|
||
2007-01-27 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30407
|
||
* trans-expr.c (gfc_conv_operator_assign): New function.
|
||
* trans.h : Add prototype for gfc_conv_operator_assign.
|
||
* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
|
||
a potential operator assignment subroutine. If it is non-NULL
|
||
call gfc_conv_operator_assign instead of the first assignment.
|
||
( gfc_trans_where_2): In the case of an operator assignment,
|
||
extract the argument expressions from the code for the
|
||
subroutine call and pass the symbol to gfc_trans_where_assign.
|
||
resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
|
||
gfc_resolve_forall_body): Resolve the subroutine call for
|
||
operator assignments.
|
||
|
||
2007-01-26 Steven Bosscher <stevenb.gcc@gmail.com>
|
||
Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
PR fortran/30278
|
||
* fortran/io.c (next_char): Deal with backslash escaped characters.
|
||
Issue warnings in non -std=gnu cases.
|
||
* fortran/primary.c (next_string_char): Issue warnings in non
|
||
|
||
2007-01-26 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* lang-specs.h: Add support for .f03 and .F03 extensions.
|
||
* gfortran.texi: Document .f03 extension.
|
||
* options.c (form_from_filename): Recognize .f03.
|
||
|
||
2007-01-25 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||
|
||
PR fortran/30437
|
||
* lang.opt (Wall): Remove RejectNegative.
|
||
* options.c (gfc_handle_option): Wall can be disabled.
|
||
(set_Wall): Add a parameter for disabling Wall.
|
||
|
||
2007-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/30532
|
||
* scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
|
||
|
||
2007-01-23 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30481
|
||
* match.c (gfc_match_namelist): Add check for assumed size character
|
||
in namelist and provide error if found.
|
||
|
||
2007-01-21 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi (ACHAR): Added cross-references.
|
||
(CHAR): Put cross-references in alphabetical order.
|
||
(IACHAR): Added cross-references.
|
||
(ICHAR): Added cross-references.
|
||
|
||
2007-01-20 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: Edited all "Syntax" examples to a consistent form.
|
||
(MAXVAL): Corrected description of result characteristics.
|
||
(MINVAL): Same.
|
||
(UMASK): Added documentation.
|
||
|
||
2007-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
|
||
parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
|
||
in the massive whitespace patch.
|
||
|
||
2007-01-20 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* module.c (mio_array_ref): The dimen_type fields of an array ref
|
||
are an enumerated type and can't be read/written directly with a
|
||
call to mio_integer. Instead loop over and cast each element.
|
||
|
||
2007-01-20 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
|
||
i.e. that the ARRAY_REF doesn't mention components.
|
||
* trans-array.c (gfc_constant_array_constructor_p): Export external
|
||
function renamed from constant_array_constructor_p.
|
||
(gfc_build_constant_array_constructor): Export.
|
||
(gfc_trans_array_constructor): Update call to the renamed function
|
||
constant_array_constructor_p.
|
||
* trans-array.h (gfc_constant_array_constructor_p): Prototype here.
|
||
(gfc_build_constant_array_constructor): Likewise.
|
||
* trans-expr.c (gfc_build_memcpy_call): New helper function split
|
||
out from gfc_trans_array_copy.
|
||
(gfc_trans_array_copy): Use gfc_build_memcpy_call.
|
||
(gfc_trans_array_constructor_copy): New function to optimize
|
||
assigning an entire array from a constant array constructor.
|
||
(gfc_trans_assignment): Call gfc_trans_array_constructor_copy
|
||
when appropriate.
|
||
|
||
2007-01-20 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
|
||
implementation for the SIGN intrinsic with integral operands.
|
||
(gfc_conv_intrinsic_minmax): Fix whitespace.
|
||
|
||
2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
* gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
|
||
* lang.opt: Add -fallow-leading-underscore.
|
||
* match.c (gfc_match_name): Allow leading underscore in symbol
|
||
name if -fallow-leading-underscore is used.
|
||
* symbol.c (gfc_get_default_type): Add special case for symbol
|
||
names beginning with an underscore.
|
||
* trans-decl.c (gfc_get_extern_function_decl,
|
||
gfc_build_intrinsic_function_decls): Add _gfortran prefix to
|
||
library symbols selected_int_kind, selected_real_kind and
|
||
all specifics.
|
||
* options.c (gfc_init_options, gfc_handle_option): Handle the
|
||
new -fallow-leading-underscore option.
|
||
|
||
2007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/30446
|
||
* options.c (gfc_handle_module_path_options): Path used in -J
|
||
option is now added to the module search path.
|
||
|
||
2007-01-20 Richard Guenther <rguenther@suse.de>
|
||
|
||
PR fortran/30223
|
||
* f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
|
||
cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide
|
||
sincos builtins if the target has sincos.
|
||
|
||
2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi (MATMUL): Corrected a typo.
|
||
(MAX): Separated @var arguments.
|
||
(MIN): Separated @var arguments.
|
||
|
||
2007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: general whitespace cleanup.
|
||
(menu): Added TIME8, removed UNMASK.
|
||
(AINT): Clarified argument requirement.
|
||
(ANINT): Clarified argument requirement.
|
||
(CEILING): Clarified argument requirement.
|
||
(CHAR): Clarified argument requirement.
|
||
(CMPLX): Clarified argument requirement.
|
||
(DCMPLX): Clarified argument requirement.
|
||
(FGET): Line rewrapping.
|
||
(FLOOR): Clarified argument requirement.
|
||
(GMTIME): Added documentation.
|
||
(IAND): Added cross-reference.
|
||
(IBCLR): Added cross-reference.
|
||
(IBSET): Added cross-reference.
|
||
(IEOR): Added cross-reference.
|
||
(INT): Collapsed examples, clarified argument requirement.
|
||
(IOR): Added cross-references.
|
||
(LEN_TRIM): Corrected result kind.
|
||
(LINK): Added cross-reference.
|
||
(LLT): Removed "documentation pending".
|
||
(LOGICAL): Added documentation.
|
||
(LSHIFT): Added documentation.
|
||
(LTIME): Added documentation.
|
||
(MATMUL): Added documentation.
|
||
(MAX): Added documentation.
|
||
(MAXLOC): Added documentation.
|
||
(MAXVAL): Added documentation.
|
||
(MERGE): Added documentation.
|
||
(MIN): Added documentation.
|
||
(MINLOC): Added documentation.
|
||
(MINVAL): Added documentation.
|
||
(MVBITS): Moved to correct place, added documentation.
|
||
(NOT): Added documentation.
|
||
(PERROR): Added documentation.
|
||
(RAN): Moved to correct place, added documentation.
|
||
(REAL): Clarified argument requirement.
|
||
(RENAME): Added documentation.
|
||
(RSHIFT): Clarified argument requirement.
|
||
(SIGN): Corrected table specification.
|
||
(SYMLNK): Added documentation.
|
||
(SYSTEM): Added documentation.
|
||
(TIME): Added documentation.
|
||
(TIME8): Added section and documentation.
|
||
(UNMASK): Removed erroneous section.
|
||
|
||
2007-01-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* trans-stmt.c (compute_overall_iter_number): Fix a typo.
|
||
|
||
2007-01-18 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-expr.c (copyable_array_p): Consider user derived types without
|
||
allocatable components to be copyable.
|
||
|
||
2007-01-18 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-stmt.c (compute_overall_iter_number): Enhance to precompute
|
||
the number of interations in unconditional FORALL nests with constant
|
||
bounds.
|
||
|
||
2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR libfortran/29649
|
||
* gfortran.h (gfc_option_t): Add flag_dump_core.
|
||
* lang.opt: Add -fdump-core option.
|
||
* invoke.texi: Document the new options.
|
||
* trans-decl.c (gfc_build_builtin_function_decls): Add new
|
||
options to the call to set_std.
|
||
* options.c (gfc_init_options, gfc_handle_option): Set the
|
||
new options.
|
||
|
||
2007-01-17 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30476
|
||
* module.c (load_generic_interfaces): Make the marking of the
|
||
symbol as ambiguous conditional on the module names being
|
||
different.
|
||
(write_generic): Ensure that the generic interface has a
|
||
non-NULL module field.
|
||
|
||
2007-01-16 Roger Sayle <roger@eyesopen.com>
|
||
|
||
PR fortran/30404
|
||
* trans-stmt.c (forall_info): Remove pmask field.
|
||
(gfc_trans_forall_loop): Remove NVAR argument, instead assume that
|
||
NVAR covers all the interation variables in the current forall_info.
|
||
Add an extra OUTER parameter, which specified the loop header in
|
||
which to place mask index initializations.
|
||
(gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
|
||
Change the semantics of MASK_FLAG to only control the mask in the
|
||
innermost loop.
|
||
(compute_overall_iter_number): Optimize the trivial case of a
|
||
top-level loop having a constant number of iterations. Update
|
||
call to gfc_trans_nested_forall_loop. Calculate the number of
|
||
times the inner loop will be executed, not to size of the
|
||
iteration space.
|
||
(allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
|
||
sizeof(type) == 1. Tidy up.
|
||
(gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
|
||
to gfc_trans_nested_forall_loop.
|
||
(gfc_trans_pointer_assign_need_temp): Likewise.
|
||
(gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
|
||
LENVAR local variables. Split mask allocation into a separate
|
||
hunk/pass from mask population. Use allocate_temp_for_forall_nest
|
||
to allocate the FORALL mask with the correct size. Update calls
|
||
to gfc_trans_nested_forall_loop.
|
||
(gfc_evaluate_where_mask): Update call to
|
||
gfc_trans_nested_forall_loop.
|
||
(gfc_trans_where_2): Likewise.
|
||
|
||
2007-01-15 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/28172
|
||
* trans-stmt.c (gfc_trans_call): If it does not have one, get
|
||
a backend_decl for an alternate return.
|
||
|
||
PR fortran/29389
|
||
* resolve.c (pure_function): Statement functions are pure. Note
|
||
that this will have to recurse to comply fully with F95.
|
||
|
||
PR fortran/29712
|
||
* resolve.c (resolve_function): Only a reference to the final
|
||
dimension of an assumed size array is an error in an inquiry
|
||
function.
|
||
|
||
PR fortran/30283
|
||
* resolve.c (resolve_function): Make sure that the function
|
||
expression has a type.
|
||
|
||
2007-01-14 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30410
|
||
* trans-decl.c (gfc_sym_mangled_function_id): Module, external
|
||
symbols must not have the module name prepended.
|
||
|
||
2007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
|
||
|
||
PR libfortran/30415
|
||
* iresolve.c (gfc_resolve_maxloc): If the rank
|
||
of the return array is nonzero and we process an
|
||
integer array smaller than default kind, coerce
|
||
the array to default integer.
|
||
* iresolve.c (gfc_resolve_minloc): Likewise.
|
||
|
||
2007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* simplify.c: Update copyright to 2007.
|
||
* scanner.c: Same.
|
||
|
||
2007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||
|
||
PR fortran/30430
|
||
* scanner.c (gfc_release_include_path): Free gfc_option.module_dir
|
||
only once!
|
||
|
||
2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* simplify.c (gfc_simplify_ibclr): Fix POS comparison.
|
||
(gfc_simplify_ibset): Same.
|
||
|
||
2007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
PR 30381
|
||
PR 30420
|
||
* simplify.c (convert_mpz_to_unsigned): New function.
|
||
(convert_mpz_to_signed): New function, largely based on
|
||
twos_complement().
|
||
(twos_complement): Removed.
|
||
(gfc_simplify_ibclr): Add conversions to and from an
|
||
unsigned representation before bit-twiddling.
|
||
(gfc_simplify_ibset): Same.
|
||
(gfc_simplify_ishftc): Add checks for overly large
|
||
constant arguments, only check the third argument if
|
||
it's present, carry over high bits into the result as
|
||
appropriate, and perform the final conversion back to
|
||
a signed representation using the correct sign bit.
|
||
(gfc_simplify_not): Removed unnecessary masking.
|
||
|
||
2007-01-09 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/30408
|
||
* resolve.c (resolve_code): Use the code->expr character length
|
||
directly to set length of llen.
|
||
|
||
2007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR fortran/30408
|
||
* lang.opt: Add Wcharacter_truncation option.
|
||
* options.c (gfc_init_options): Initialize
|
||
gfc_option.warn_character_truncation to zero.
|
||
(gfc_handle_option): Add case for OPT_Wcharacter_truncation.
|
||
|
||
2007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
|
||
iresolve.c, match.c: Update Copyright years. Whitespace.
|
||
|
||
2007-01-08 Richard Guenther <rguenther@suse.de>
|
||
|
||
* trans-io.c (transfer_array_desc): Use build_int_cst instead
|
||
of build_int_cstu.
|
||
|
||
2007-01-08 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-array.c (constant_array_constructor_p): New function to
|
||
determine whether an array constructor consists only of constant
|
||
elements, and if so return it's size.
|
||
(gfc_build_constant_array_constructor): Construct a statically
|
||
initialized gfortran array for a given EXPR_ARRAY.
|
||
(gfc_trans_constant_array_constructor): Efficiently scalarize
|
||
a constant array constructor.
|
||
(gfc_trans_array_constructor): Tidy up use of CONST_STRING.
|
||
Special case scalarization of constant array constructors, all of
|
||
whose elements are specified, using constant_array_constructor_p
|
||
and gfc_trans_constant_array_constructor.
|
||
(gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
|
||
before adding it to index, to avoid creating a NON_LVALUE_EXPR.
|
||
|
||
2007-01-08 Kazu Hirata <kazu@codesourcery.com>
|
||
|
||
gfortran.texi: Fix typos.
|
||
|
||
2007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
|
||
convert.c: Update Copyright dates. Fix whitespace.
|
||
|
||
2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
|
||
|
||
* data.c (gfc_assign_data_value): Fix whitespace.
|
||
|
||
2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
|
||
|
||
* trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
|
||
Commentary typo fix.
|
||
|
||
2007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR fortran/27698
|
||
* match.c (gfc_match_name): Print diagnostics for invalid
|
||
character in names.
|
||
|
||
2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* array.c: Fix whitespace in comment table.
|
||
|
||
2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* array.c, bbt.c, check.c: Update copyright years. Whitespace.
|
||
|
||
2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
|
||
|
||
* arith.c: Update copyright years. Whitespace.
|
||
|
||
2007-01-05 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
|
||
array assignments split out from gfc_trans_assignment.
|
||
(gfc_trans_array_copy): New function to implement array to array
|
||
copies via calls to __builtin_memcpy.
|
||
(copyable_array_p): New helper function to identify an array of
|
||
simple/POD types, that may be copied/assigned using memcpy.
|
||
(gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
|
||
whole array assignments considered suitable by copyable_array_p.
|
||
Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
|
||
|
||
2007-01-05 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-array.c (gfc_trans_array_constructor_value): Make the
|
||
static const "data" array as TREE_READONLY.
|
||
* trans-stmt.c (gfc_trans_character_select): Likewise.
|
||
|
||
2007-01-05 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* trans-array.c (gfc_conv_loop_setup): Test whether the loop
|
||
stride is one, to avoid fold_build2 introducing a useless
|
||
NON_LVALUE_EXPR node.
|
||
|
||
2007-01-05 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* symbol.c (check_conflict): Fix error message.
|
||
|
||
2007-01-05 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/23232
|
||
* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
|
||
functions to signal that a DATA statement is being matched.
|
||
(gfc_match_data): Call gfc_set_in_match_data on entry and on
|
||
exit.
|
||
* gfortran.h : Add prototypes for above.
|
||
* expr.c (check_init_expr): Avoid check on parameter or
|
||
variable if gfc_in_match_data is true.
|
||
(gfc_match_init_expr): Do not call error on non-reduction of
|
||
expression if gfc_in_match_data is true.
|
||
|
||
PR fortran/27996
|
||
PR fortran/27998
|
||
* decl.c (gfc_set_constant_character_len): Add boolean arg to
|
||
flag array constructor resolution. Warn if string is being
|
||
truncated. Standard dependent error if string is padded. Set
|
||
new arg to false for all three calls to
|
||
gfc_set_constant_character_len.
|
||
* match.h : Add boolean arg to prototype for
|
||
gfc_set_constant_character_len.
|
||
* gfortran.h : Add warn_character_truncation to gfc_options.
|
||
* options.c (set_Wall): Set warn_character_truncation if -Wall
|
||
is set.
|
||
* resolve.c (resolve_code): Warn if rhs string in character
|
||
assignment has to be truncated.
|
||
* array.c (gfc_resolve_character_array_constructor): Set new
|
||
argument to true for call to gfc_set_constant_character_len.
|
||
|
||
2007-01-05 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/29624
|
||
* interface.c (compare_parameter_intent): New function.
|
||
(check_intents): Support pointer intents.
|
||
* symbol.c (check_conflict): Support pointer intents,
|
||
better conflict_std message.
|
||
* expr.c (gfc_check_assign,gfc_check_pointer_assign):
|
||
Support pointer intents.
|
||
* resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
|
||
Support pointer intents.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
PR 30371
|
||
* check.c (gfc_check_kill_sub): Add checks for non-scalar
|
||
arguments.
|
||
|
||
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: Minor cleanup, reflowing overlong
|
||
paragraphs, and correcting whitespace.
|
||
|
||
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi (LBOUND): Add documentation.
|
||
(LGE): Add documentation.
|
||
(LGT): Add documentation.
|
||
(LINK): Add documentation.
|
||
(LLE): Add documentation.
|
||
(LLT): Add documentation.
|
||
(LNBLNK): Add documentation.
|
||
(UBOUND): Add documentation.
|
||
(UNLINK): Add documentation.
|
||
|
||
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi (IAND): Clarify argument specifications.
|
||
(IBCLR): Add documentation.
|
||
(IBITS): Add documentation.
|
||
(IBSET): Add documentation.
|
||
(IEOR): Add documentation.
|
||
(IERRNO): Add documentation.
|
||
(INDEX): Add documentation.
|
||
(IOR): Add documentation.
|
||
(ISHFT): Add documentation.
|
||
(ISHFTC): Add documentation.
|
||
(KILL): Add documentation.
|
||
(LEN_TRIM): Add documentation.
|
||
|
||
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
PR 30235
|
||
* interface.c (compare_actual_formal): check for
|
||
alternate returns when iterating over non-present
|
||
arguments.
|
||
|
||
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* invoke.texi: Update manpage copyright to include 2007.
|
||
|
||
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi: Update copyright to include 2007.
|
||
* intrinsic.texi: Update copyright to include 2007.
|
||
* invoke.texi: Update copyright to include 2007.
|
||
|
||
2007-01-02 Tobias Burnus <burnus@net-b.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/30276
|
||
* scanner.c (open_included_file): Revert patch.
|
||
(gfc_open_included_file): Support absolute pathnames.
|
||
(gfc_open_intrinsic_module): Support absolute pathnames.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi (GNU Fortran and GCC): Rewrite
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi (Introduction): Lower "Part I:
|
||
Introduction" to a chapter, renumber Parts II and III to
|
||
Parts I and II.
|
||
* intrinsic.texi (Introduction): Rename to "Introduction
|
||
to Intrinsics" to avoid conflict with the new chapter.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi (Introduction): Rewrite first paragraph.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* invoke.texi (OpenMP): Added index entry.
|
||
* gfortran.texi (title page): Removed erroneous '*'.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
|
||
to description.
|
||
(Extensions): Miscellaneous minor rewriting and copyediting.
|
||
(BOZ-literal constants): Renamed from Hexadecimal constants.
|
||
(Hollerith constants support): Added explanation and
|
||
suggestions for standard-conforming modern equivalents.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: Improvements to index entries; change
|
||
@findex entries to @cindex entries.
|
||
* invoke.texi: Standardize and improve index entries.
|
||
* gfortran.texi: Fix @code in one index entry.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* invoke.texi: Change @code-type macros to appropriate
|
||
variants (@command, @option, etc.)
|
||
* gfortran.texi: Same.
|
||
|
||
2007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
|
||
|
||
* intrinsic.texi: Various minor cleanups.
|
||
|
||
2007-01-02 Steven G. Kargl <kargls@comcast.net>
|
||
|
||
* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
|
||
build_int_cst.
|
||
|
||
2007-01-02 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/30276
|
||
* scanner.c (open_included_file): Support full-path filenames.
|
||
|
||
2007-01-02 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/20896
|
||
* interface.c (check_sym_interfaces): Remove call to
|
||
resolve_global_procedure.
|
||
gfortran.h : Remove prototype for resolve_global_procedure.
|
||
resolve.c (resolve_global_procedure): Add static attribute
|
||
to function declaration.
|
||
|
||
2007-01-01 Steven G. Kargl <kargls@comcast.net>
|
||
|
||
* ChangeLog: Copy to ...
|
||
* ChangeLog-2006: here.
|
||
|
||
|
||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|