summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/resolve.c
Commit message (Collapse)AuthorAgeFilesLines
* fortran/tobi2005-05-111-0/+2
| | | | | | | | | | * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension' attribute from result symbol to function symbol. testsuite/ * gfortran.dg/func_result_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99580 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-04-29 Jakub Jelinek <jakub@redhat.com>jakub2005-04-291-2/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/13082 PR fortran/18824 * trans-expr.c (gfc_conv_variable): Handle return values in functions with alternate entry points. * resolve.c (resolve_entries): Remove unnecessary string termination after snprintf. Set result of entry master. If all entries have the same type, set entry master's type to that common type, otherwise set mixed_entry_master attribute. * trans-types.c (gfc_get_mixed_entry_union): New function. (gfc_get_function_type): Use it for mixed_entry_master functions. * gfortran.h (symbol_attribute): Add mixed_entry_master bit. * decl.c (gfc_match_entry): Set entry->result properly for function ENTRY. * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over __entry argument. (build_entry_thunks): Handle return values in entry thunks. Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not shared between multiple contexts. (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from current_function_decl instead of sym->backend_decl. Skip over entry master's entry id argument. For mixed_entry_master entries or their results, return a COMPONENT_REF of the fake result. (gfc_trans_deferred_vars): Don't warn about missing return value if at least one entry point uses RESULT. (gfc_generate_function_code): For entry master returning CHARACTER, copy ts.cl->backend_decl to all entry result syms. * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return values optional just because they are in entry master. * gfortran.dg/entry_4.f90: New test. * gfortran.fortran-torture/execute/entry_1.f90: New test. * gfortran.fortran-torture/execute/entry_2.f90: New test. * gfortran.fortran-torture/execute/entry_3.f90: New test. * gfortran.fortran-torture/execute/entry_4.f90: New test. * gfortran.fortran-torture/execute/entry_5.f90: New test. * gfortran.fortran-torture/execute/entry_6.f90: New test. * gfortran.fortran-torture/execute/entry_7.f90: New test. 2005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * gfortran.fortran-torture/execute/entry_8.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98993 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/20865fxcoudert2005-04-281-0/+6
| | | | | | | | | * resolve.c (resolve_actual_arglist): Issue an error if a statement functions is used as actual argument. * gfortran.dg/pr20865.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98919 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/16861fxcoudert2005-04-191-0/+3
| | | | | | | | | * resolve.c (resolve_variable): If e->symtree is not set, this ought to be a FAILURE, and not a segfault. * gfortran.dg/pr16861.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98391 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-03-191-1/+1
| | | | | | | | | | | | | | | * dump-parse-tree.c (gfc_show_expr): Dump name of namespace in which the variable is declared. PR fortran/18525 * resolve.c (was_declared): Also check for dummy attribute. testsuite/ PR fortran/18525 * gfortran.dg/nesting_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96739 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/fengwang2005-03-151-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-03-15 Feng Wang <fengwang@nudt.edu.cn> PR fortran/18827 * io.c (resolve_tag): Add checking on assigned label. (match_dt_format): Does not set symbol assign attribute. * match.c (gfc_match_goto):Does not set symbol assign attribute. * resolve.c (resolve_code): Add checking on assigned label. * trans-common.c (build_field): Deals with common variable assigned a label. * trans-stmt.c (gfc_conv_label_variable): New function. (gfc_trans_label_assign): Use it. (gfc_trans_goto): Ditto. * trans-io.c (set_string): Ditto. * trans.h (gfc_conv_label_variable): Add prototype. testsuite/ 2005-03-15 Feng Wang <fengwang@nudt.edu.cn> PR fortran/18827 * gfortran.dg/assign_2.f90: New test. * gfortran.dg/assign_3.f90: New test. * gfortran.dg/assign.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96467 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-03-131-5/+12
| | | | | | | | | | | | PR fortran/16907 * resolve.c (gfc_resolve_index): Allow REAL indices as an extension. testsuite/ PR fortran/16907 * gfortran.dg/real_index_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96385 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2005-03-131-4/+5
| | | | | | | | | | | | | PR fortran/20323 * resolve.c (gfc_resolve): Check if character lengths are specification expressions. testsuite/ PR fortran/20323 * gfortran.dg/spec_expr_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96382 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/19754kargl2005-03-051-2/+38
| | | | | | | | * resolve.c (compare_shapes): New function. (resolve_operator): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95945 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).reichelt2005-02-241-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95518 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'tobi2005-02-231-26/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | fields into new struct 'op' inside the 'value' union. * arith.c (eval_intrinsic): Adapt all users. * dependency.c (gfc_check_dependency): Likewise. * dump-parse-tree.c (gfc_show_expr): Likewise. * expr.c (gfc_get_expr): Don't clear removed fields. (free_expr0, gfc_copy_expr, gfc_type_convert_binary, gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr, check_intrinsic_op): Adapt to new field names. * interface.c (gfc_extend_expr): Likewise. Also explicitly nullify 'esym' and 'isym' fields of new function call. * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul): Adapt to renamed structure fields. * matchexp.c (build_node, match_level_1, match_expr): Likewise. * module.c (mio_expr): Likewise. * resolve.c (resolve_operator): Likewise. (gfc_find_forall_index): Likewise. Only look through operands if dealing with EXPR_OP * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields. * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op, gfc_conv_concat_op, gfc_conv_expr_op): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95471 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,tobi2005-02-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data, gfc_add_in_namelist, gfc_add_sequence, gfc_add_function, gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry, gfc_add_procedure): Add argument. * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name, gfc_match_null, match_type_spec, match_attr_spec, gfc_match_formal_arglist, match_result, gfc_match_function_decl): Update callers to match. (gfc_match_entry) : Likewise, fix comment typo. (gfc_match_subroutine, attr_decl1, gfc_add_dimension, access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc, gfc_match_derived_decl): Update callers. * interface.c (gfc_match_interface): Likewise. * match.c (gfc_match_label, gfc_add_flavor, gfc_match_call, gfc_match_common, gfc_match_block_data, gfc_match_namelist, gfc_match_module, gfc_match_st_function): Likewise. * parse.c (parse_derived, parse_interface, parse_contained), primary.c (gfc_match_rvalue, gfc_match_variable): Likewise. * resolve.c (resolve_formal_arglist, resolve_entries): Update callers. * symbol.c (check_conflict, check_used): Add new 'name' argument, use when printing error message. (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data, gfc_add_in_namelist, gfc_add_sequence, gfc_add_function, gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry, gfc_add_procedure): Add new 'name' argument. Pass along to check_conflict and check_used. (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental, gfc_add_pure, gfc_add_recursive, gfc_add_intent, gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new argument in calls to any of the modified functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94718 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-22 Paul Brook <paul@codesourcery.com>pbrook2005-01-221-2/+22
| | | | | | | | | | | | | | * gfortran.h (gfc_check_access): Add prototype. * match.c (gfc_match_namelist): Remove TODO. * module.c (check_access): Rename ... (gfc_check_access): ... to this. Boolify. Update callers. * resolve.c (resolve_symbol): Check for private objects in public namelists. testsuite/ * namelist_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94073 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-22 Paul Brook <paul@codesourcery.com>pbrook2005-01-221-16/+2
| | | | | | | | | | | | | | | * primary.c (gfc_match_rvalue): Only apply implicit type if variable does not have an explicit type. (gfc_match_variable): Resolve implicit derived types in all cases. Resolve contained function types from their own namespace, not the parent. * resolve.c (resolve_contained_fntype): Remove duplicate sym->result checking. Resolve from the contained namespace, not the parent. testsuite/ * gfortran.dg/implicit_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94066 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright dates.pbrook2005-01-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93735 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-16 Steven G. Kargl <kargls@comcast.net>pbrook2005-01-161-11/+51
| | | | | | | | | | | | PR 19168 * resolve.c (check_case_overlap): Typo in comment. (validate_case_label_expr): Fix up kinds of case values (resolve_select): Properly handle kind mismatches. testsuite/ * gfortran.dg/select_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93725 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-14 Steven G. Kargl <kargls@comcast.net>pbrook2005-01-141-65/+32
| | | | | | | | | | | | * resolve.c (compare_case): Cleanup. testsuite/ * gfortran.dg/select_1.f90: New test. * gfortran.dg/select_2.f90: New test. * gfortran.dg/select_3.f90: New test. * gfortran.dg/select_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93640 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-14 Steven G. Kargl <kargls@comcast.net>pbrook2005-01-141-5/+1
| | | | | | | * resolve.c (compare_case): Give arguments correct type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93637 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c: Add system.h; remove string.hrth2005-01-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * decl.c: Ditto * matchexp.c: Ditto * parse.c: Ditto * resolve.c: Ditto * st.c: Ditto * check.c: Remove stdlib.h and stdarg.h * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h * f95-lang.c: Add system.h; remove stdio.h * interface.c: Add system.h; remove stdlib.h and string.h * intrinsic.c: Remove stdarg.h, stdio.h, and string.h * io.c: Remove string.h * simplify.c: Ditto * match.c: Remove stdarg.h and string.h * misc.c: Update copyright; add system.h; remove stdlib.h, string.h, and sys/stat.h * module.c: Add system.h; remove string.h, stdio.h, errno.h, unistd.h, and time.h * option.c: Remove string.h and stdlib.h * primary.c: Ditto * scanner.c: Update copyright; add system.h; remove stdlib.h, stdio.h, string.h, and strings.h * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h * trans-array.c: Remove stdio.h and gmp.h * trans-const.c: Ditto * trans-expr.c: Ditto * trans-io.c: Ditto * trans-stmt.c: Ditto * trans.c: Ditto * trans-intrinsic.c: Remove stdio.h and string.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92866 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_expr.function.name): Make const.rth2004-12-151-2/+2
| | | | | | | | | | | | | | | | | | | | (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove. (gfc_get_string): Update prototype. * iresolve.c: Include tree.h. (string_node, HASH_SIZE, string_head, hash): Remove. (gfc_get_string): Use vsnprintf, get_identifier. (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove. * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1. (gfc_done_1): Don't call gfc_iresolve_done_1. * module.c (mio_allocated_string): Take and return const char *, instead of modifying char**. (mio_expr): Update to match. * resolve.c (pure_function): Constify name argument. (resolve_function): Constify name. * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92176 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-12-12 Steven G. Kargl <kargls@comcast.net>pbrook2004-12-121-37/+64
| | | | | | | | | | | | | | | | | | | Paul Brook <paul@codesourcery.com> PR fortran/16222 * resolve.c (gfc_resolve_iterator_expr): New function. (gfc_resolve_iterator): Use it. Add real_ok argument. Convert start, end and stride to correct type. (resolve_code): Pass extra argument. * array.c (resolve_array_list): Pass extra argument. * gfortran.h (gfc_resolve): Add prototype. * trans-stmt.c (gfc_trans_do): Remove redundant type conversions. Handle real type iterators. testsuite/ * gfortran.dg/real_do_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92057 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-12-081-3/+8
| | | | | | | | | | | * resolve.c (resolve_code): Impose correct restrictions on assigned variable. testsuite/ * gfortran.dg/assign_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91898 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,kazu2004-11-081-11/+11
| | | | | | | | | | gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c, module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c, trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c, trans.h: Fix comment formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90266 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/17676tobi2004-10-081-2/+2
| | | | | | | * resolve.c (resolve_operator): Use correct operator name in message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88726 138bc75d-0d04-0410-961f-82ee72b054a4
* * array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,kazu2004-09-161-2/+2
| | | | | | | | | | | interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h, resolve.c, scanner.c, trans-array.c, trans-array.h, trans-common.c, trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c, trans.h: Fix comment typos. Follow spelling conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87605 138bc75d-0d04-0410-961f-82ee72b054a4
* * array.c: Don't include assert.h.pbrook2004-09-081-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | * data.c: Don't include assert.h. Replace assert and abort with gcc_assert and gcc_unreachable. * dependency.c: Ditto. * f95-lang.c: Ditto. * iresolve.c: Ditto. * resolve.c: Ditto. * simplify.c: Ditto. * symbol.c: Ditto. * trans-array.c: Ditto. * trans-common.c: Ditto. * trans-const.c: Ditto. * trans-decl.c: Ditto. * trans-expr.c: Ditto. * trans-intrinsic.c: Ditto. * trans-io.c: Ditto. * trans-stmt.c: Ditto. * trans-types.c: Ditto. * trans.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87187 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-09-011-1/+59
| | | | | | | | | | | | | | | PR fortran/16400 PR fortran/16404 (port from g95) * resolve.c (resolve_transfer): New function. (resolve_code): Call resolve_transfer in case of EXEC_TRANSFER. testsuite/ PR fortran/16404 * gfortran.dg/der_io_1.f90: XFAIL illegal testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86931 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_default_*_kind): Remove prototypes, add externtobi2004-08-271-2/+2
| | | | | | | | | | | | | | | variable declaration of same name. * arith.c, check.c, decl.c, dump_parse_tree.c, expr.c, intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c, resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c: Replace all calls to gfc_default_*_kind with variable accesses. * trans-types.c: Same as above. (gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove static qualifier. Replace all occurences. (gfc_default_*_kind): Remove functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86662 138bc75d-0d04-0410-961f-82ee72b054a4
* * resolve.c (merge_argument_lists): Revert unintentionallytobi2004-08-241-4/+0
| | | | | | | committed change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86498 138bc75d-0d04-0410-961f-82ee72b054a4
* * resolve.c (resolve_entries): Fix a bunch of comment typos.tobi2004-08-241-5/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86497 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 13465rth2004-08-231-16/+48
| | | | | | | | | | | | | | | * data.c (find_con_by_offset): Search ordered list; handle elements with repeat counts. (gfc_assign_data_value_range): New. * gfortran.h (struct gfc_data_value): Make repeat unsigned. (gfc_assign_data_value_range): Declare. * match.c (top_val_list): Extract repeat count into a temporary. * resolve.c (values): Make left unsigned. (next_data_value): Don't decrement left. (check_data_variable): Use gfc_assign_data_value_range. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-17 Paul Brook <paul@codesourcery.com>pbrook2004-08-171-52/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/13082 * decl.c (get_proc_name): Update mystery comment. (gfc_match_entry): Check for errors earlier. Add entry point to list. * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes. * gfortran.h (symbol_attribute): Add entry_master. Document entry. (struct gfc_entry_list): Define. (gfc_get_entry_list): Define. (struct gfc_namespace): Add refs and entries. (enum gfc_exec_op): Add EXEC_ENTRY. (struct gfc_code): Add ext.entry. * module.c (ab_attribute, attr_bits): Remove AB_ENTRY. (mio_symbol_attribute): Don't save/reture addr->entry. (mio_namespace_ref): Refcount namespaces. * parse.c (accept_statement): Handle ST_ENTRY. (gfc_fixup_sibling_symbols): Mark symbol as referenced. (parse_contained): Fixup sibling references to entry points after parsing the procedure body. * resolve.c (resolve_contained_fntype): New function. (merge_argument_lists, resolve_entries): New functions. (resolve_contained_functions): Use them. (resolve_code): Handle EXEC_ENTRY. (gfc_resolve): Call resolve_entries. * st.c (gfc_free_statement): Handle EXEC_ENTRY. * symbol.c (gfc_get_namespace): Refcount namespaces. (gfc_free_namespace): Ditto. * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as optional when multiple entry points are present. * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check. (gfc_get_extern_function_decl): Add assertion. Fix coment. (create_function_arglist, trans_function_start, build_entry_thunks): New functions. (gfc_build_function_decl): Rename ... (build_function_decl): ... to this. (gfc_create_function_decl): New function. (gfc_generate_contained_functions): Use it. (gfc_trans_entry_master_switch): New function. (gfc_generate_function_code): Use new functions. * trans-stmt.c (gfc_trans_entry): New function. * trans-stmt.h (gfc_trans_entry): Add prototype. * trans-types.c (gfc_get_function_type): Add entry point argument. * trans.c (gfc_trans_code): Handle EXEC_ENTRY. (gfc_generate_module_code): Call gfc_create_function_decl. * trans.h (gfc_build_function_decl): Remove. (gfc_create_function_decl): Add prototype. testsuite/ * gfortran.dg/entry_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86128 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-13 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>pbrook2004-08-131-1/+1
| | | | | | | | | | * gfortran.h: Add comments. * parse.c (parse_contained): Fix comment typo. * resolve.c (was_declared): Ditto. * symbol.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85950 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/13201tobi2004-07-091-5/+7
| | | | | | | | | | * resolve.c (resolve_symbol): Verify that the shape of a parameter array is not only explicit, but also constant. * array.c (gfc_is_compile_time_shape): New function. * gfortran.h (gfc_is_compile_time_shape): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84400 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/15481 PR fortran/13372 PR fortran/13575 PR fortran/15978 * module.c (write_symbol, write_symtree): Remove workaround. * primary.c (match_actual_arglist): Enhance comment. (gfc_match_rvalue): Handle function call with first argument a keyword argument correctly. * resolve.c (resolve_symbol): Change call to gfc_set_default_type to issue error if no implicit type can be found. * trans-decl.c (gfc_create_module_variable): Remove workaround. testsuite/ PR fortran/15481 PR fortran/13372 PR fortran/13575 PR fortran/15978 * gfortran.fortran-torture/compile/implicit_2.f90: New test. Also fixed David Billinghursts ChangeLog entry to use GMT git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84373 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/15750pbrook2004-06-221-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | * io.c (gfc_match_inquire): Bugfix for iolength related stuff. (gfc_resolve_inquire): Resolve the iolength tag. Return SUCCESS at end of function if no failure has occured. * resolve.c (resolve_code): Resolve if iolength is encountered. * trans-io.c: (ioparm_iolength, iocall_iolength, iocall_iolength_done): New variables. (last_dt): Add IOLENGTH. (gfc_build_io_library_fndecls ): Set iolength related variables. (gfc_trans_iolength): Implement. (gfc_trans_dt_end): Treat iolength as a third form of data transfer. libgfortran/ PR fortran/15750 * inquire.c (st_inquire): Add comment * io.h (st_parameter): Add iolength. (st_iolength, st_iolength_done): Declare. * transfer.c (iolength_transfer, iolength_transfer_init, st_iolength, st_iolength_done): New functions. testsuite/ * gfortran.fortran-torture/execute/iolength_1.f90: New test. * gfortran.fortran-torture/execute/iolength_3.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83472 138bc75d-0d04-0410-961f-82ee72b054a4
* * resolve.c (resolve_symbol): Add comment in function body.tobi2004-06-211-6/+9
| | | | | | | | (check_data_variable): Change type of mark to ar_type, adapt code accordingly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83443 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-06-151-7/+0
| | | | | | | | | | | | | | | PR fortran/15962 * match.c (match_case_selector): Call gfc_match_init_expr instead of gfc_match_expr. * resolve.c (validate_case_label_expr): No need to check for constant, since it wouldn't have been matched with the fix to match.c. testsuite/ PR fortran/15962 * gfortran.fortran-torture/execute/select_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83202 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/13201tobi2004-06-091-4/+12
| | | | | | | | | * resolve.c (resolve_symbol): Verify that parameter array has an explicit shape. Fix typos and coding style issues in surrounding lines. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82830 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/13930pbrook2004-05-181-0/+47
| | | | | | | | | | | | | | | * decl.c (add_init_expr_to_sym): Remove incorrect check. (default_initializer): Move to expr.c. (variable_decl): Don't assign default initializer to variables. * expr.c (gfc_default_initializer): Move to here. * gfortran.h (gfc_default_initializer): Add prototype. * resolve.c (resolve_symbol): Check for illegal initializers. Assign default initializer. testsuite/ * gfortran.fortran-torture/execute/der_init_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81966 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c,tobi2004-05-141-13/+13
| | | | | | | | | | | | | | | | | | decl.c, dependency.c, dependency.h, dump-parse-tree.c, error.c, expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c, intrinsic.h, io.c, iresolve.c, lang-specs.h, match.c, match.h, matchexp.c, misc.c, module.c, options.c, parse.c, parse.h, primary.c, resolve.c, scanner.c, simplify.c, st.c, symbol.c, trans-array.c, trans-array.h, trans-common.c, trans-const.c, trans-const.h, trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c, trans-stmt.h, trans-types.c, trans-types.h, trans.c, trans.h: Update copyright years and boilerplate. * data.c: Likewise, also removed two whitespace-only lines. * gfortranspec.c, lang.opt: Update copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81839 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge tree-ssa-20020619-branch into mainline.dnovillo2004-05-131-0/+4435
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81764 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud