aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
AgeCommit message (Collapse)AuthorFilesLines
2005-02-24Unrevert previously reversed patch, adding this patch:Tobias Schlüter1-23/+53
* module.c (find_true_name): Deal with NULL module. From-SVN: r95506
2005-02-24Revert yesterday's patch:Tobias Schlüter1-50/+23
2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> * gfortran.h (gfc_component, gfc_actual_arglist, ... ... argument. Copy string instead of pointing to it. From-SVN: r95496
2005-02-23gfortran.h (gfc_component, [...]): Make 'name' a 'const char *'.Tobias Schlüter1-23/+50
* gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make 'name' a 'const char *'. (gfc_symbol): Likewise, also for 'module'. (gfc_symtree): Make 'name' a 'const char *'. (gfc_intrinsic_sym): Likewise, also for 'lib_name'. (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to 'char *' argument. (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to initialize 'SYM->module'. * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL pointer instead of empty string. * dump-parse-tree.c (gfc_show_actual_arglist): Likewise. * interface.c (gfc_compare_types): Adapt check to account for possible NULL pointer. (compare_actual_formal): Check for NULL pointer instead of empty string. * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg): Add 'const' qualifier. (conv_name): Return a heap allocated string. (find_conv): Add 'const' qualifier to 'target'. (add_sym): Use 'gfc_get_string' instead of 'strcpy'. (make_generic): Check for NULL pointer instead of emptystring. (make_alias): Use 'gfc_get_string' instead of 'strcpy'. (add_conv): No need to strcpy result from 'conv_name'. (sort_actual): Check for NULL pointer instead of emptystring. * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg): Adapt prototype. * module.c (compare_true_names): Compare pointers instead of strings for 'module' member. (find_true_name): Initialize string fields with gfc_get_string. (mio_pool_string): New function. (mio_internal_string): Adapt comment. (mio_component_ref, mio_component, mio_actual_arg): Use 'mio_pool_string' instead of 'mio_internal_string'. (mio_symbol_interface): Add 'const' qualifier to string arguments. Add level of indirection. Use 'mio_pool_string' instead of 'mio_internal_string'. (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'. (write_common, write_symbol): Use 'mio_pool_string' instead of 'mio_internal_string'. (write_symbol0, write_symbol1): Likewise, also check for NULL pointer instead of empty string. (write_operator, write_generic): Pass correct type variable to 'mio_symbol_interface'. (write_symtree): Use 'mio_pool_string' instead of 'mio_internal_string'. * primary.c (match_keyword_arg): Adapt check to possible case of NULL pointer. Use 'gfc_get_string' instead of 'strcpy'. * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree, gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of 'strcpy'. (ambiguous_symbol): Check for NULL pointer instead of empty string. (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string arguments. * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL pointer instead of empty string. * trans-decl.c (gfc_sym_mangled_identifier, gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl, gfc_get_symbol_decl): Likewise. * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to argument. Copy string instead of pointing to it. From-SVN: r95472
2005-02-23gfortran.h (gfc_expr): Move 'operator'...Tobias Schlüter1-5/+6
* gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop' 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. From-SVN: r95471
2005-02-23gfortran.h (gfc_get_namespace): Add second argument to prototype.Tobias Schlüter1-2/+2
fortran/ * gfortran.h (gfc_get_namespace): Add second argument to prototype. * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to gfc_get_namespace. * module.c (mio_namespace_ref, load_needed): Likewise. * parse.c (parse_interface, parse_contained): Likewise. Here the correct second argument matters. * symbol.c (gfc_get_namespace): Add parent_types argument, only copy parent's implicit types if this is set. (gfc_symbol_init_2): Pass second argument to gfc_get_namespace. * trans-common.c (build_common_decl): Likewise. testsuite/ * gfortran.dg/implicit_3.f90: New test. From-SVN: r95463
2005-02-08expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for EXPR_SUBSTRING.Tobias Schlüter1-2/+1
fortran/ * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for EXPR_SUBSTRING. (gfc_is_constant_expr): Check 'ref' to determine if substring reference is constant. (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'. (check_init_expr, check_restricted): Check 'ref' instead of 'op1' and 'op2'. * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'. testsuite/ * gfortran.dg/substr_1.f90: New test. From-SVN: r94735
2005-01-22gfortran.h (gfc_check_access): Add prototype.Paul Brook1-20/+14
2005-01-22 Paul Brook <paul@codesourcery.com> * 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. From-SVN: r94073
2005-01-18arith.c, [...]: Update copyright.Kazu Hirata1-1/+1
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c, gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c, match.c, matchexp.c, misc.c, module.c, options.c, parse.c, scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c, trans-io.c, trans-stmt.c, trans.c: Update copyright. From-SVN: r93830
2005-01-03arith.c: Add system.h; remove string.hSteven G. Kargl1-6/+1
* arith.c: Add system.h; remove string.h * 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 From-SVN: r92866
2004-12-14gfortran.h (gfc_expr.function.name): Make const.Richard Henderson1-8/+13
* gfortran.h (gfc_expr.function.name): Make const. (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. From-SVN: r92176
2004-11-08arith.c, [...]: Fix comment formatting.Kazu Hirata1-2/+2
* arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h, 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. From-SVN: r90266
2004-11-03re PR fortran/17535 (gfortran with module procedures)Tobias Schlüter1-0/+5
fortran/ PR fortran/17535 PR fortran/17583 PR fortran/17713 * module.c (write_symbol1): Set module_name for dummy arguments. testsuite/ PR fortran/17535 PR fortran/17583 PR fortran/17713 * gfortran.dg/generic_[123].f90: New testcases. From-SVN: r90011
2004-10-10* module.c: Fix formatting issues.Tobias Schlüter1-6/+5
From-SVN: r88846
2004-10-09module.c (mio_interface_rest): Set where member of interface while loading.Tobias Schlüter1-0/+1
* module.c (mio_interface_rest): Set where member of interface while loading. From-SVN: r88819
2004-09-16array.c, [...]: Fix comment typos.Kazu Hirata1-2/+2
* array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c, 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. From-SVN: r87605
2004-09-15re PR fortran/16485 (Private subroutines from different modules collide ↵Tobias Schlüter1-3/+2
during linking.) 2004-09-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/16485 * module.c (write_symbol): Don't fill in module name here. (write_symbol0): Fill in here instead. testsuite/ * gfortran.dg/same_name_1.f90: New test. From-SVN: r87551
2004-08-25config-lang.in: Remove dead commented line.Paul Brook1-1/+1
* config-lang.in: Remove dead commented line. * module.c: Replace g95 with gfortran in comment. From-SVN: r86582
2004-08-17re PR fortran/13082 (Function entries and entries with alternate returns not ↵Paul Brook1-10/+11
implemented) 2004-08-17 Paul Brook <paul@codesourcery.com> 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. Co-Authored-By: Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> From-SVN: r86128
2004-08-06arith.c: Add #define for model numbers.Steven G. Kargl1-5/+8
2004-08-06 Steven G. Kargl <kargls@comcast.net> * arith.c: Add #define for model numbers. Remove global GMP variables. (natural_logarithm,common_logarithm,exponential,sine, cosine,arctangent,hypercos,hypersine ): Remove. (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions. (arctangent2,gfc_arith_init_1,gfc_arith_done_1 gfc_check_real_range, gfc_constant_result, gfc_range_check, gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times, gfc_arith_divide,complex_reciprocal,complex_pow_ui, gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real, gfc_convert_complex,gfc_int2real,gfc_int2complex, gfc_real2int,gfc_real2real,gfc_real2complex, gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP to MPFR, use new functions. * arith.h: Remove extern global variables. (natural_logarithm,common_logarithm,exponential, sine, cosine, arctangent,hypercos,hypersine): Remove prototypes. (arctangent2): Update prototype from GMP to MPFR. (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes. * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR. * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR. * gfortran.h (GFC_REAL_BITS): Remove. (arith): Add ARITH_NAN. Include mpfr.h. Define GFC_RND_MODE. Rename GCC_GFORTRAN_H GFC_GFC_H. (gfc_expr): Convert GMP to MPFR. * module.c: Add arith.h, correct type in comment. (mio_gmp_real): Convert GMP to MPFR. (mio_expr): Use gfc_set_model_kind(). * primary.c: Update copyright date with 2004. (match_real_constant,match_const_complex_part): Convert GMP to MPFR. * simplify.c: Remove global GMP variables (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag, gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint, gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan, gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx, gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh, gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon, gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor, gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int, gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log, gfc_simplify_log10,simplify_min_max,gfc_simplify_mod, gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint, gfc_simplify_rrspacing,gfc_simplify_scale, gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin, gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt, gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny, gfc_simplify_init_1,gfc_simplify_done_1): Convert GMP to MPFR. Use new functions. * trans-const.c (gfc_conv_mpfr_to_tree): Rename from gfc_conv_mpf_to_tree. Convert it to use MPFR (gfc_conv_constant_to_tree): Use it. * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree(). * trans-intrinsic.c: Add arith.h, remove gmp.h (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR. From-SVN: r85652
2004-07-11re PR fortran/16455 (print the location of a missing module fatal error)Tobias Schlüter1-2/+2
PR fortran/15455 * module.c (gfc_dump_module, gfc_use_module): Print locus when opening of module file fails. From-SVN: r84508
2004-07-11re PR fortran/16336 (ICE with common block in module)Tobias Schlüter1-1/+1
PR fortran/16336 * decl.c (gfc_match_save): Use-associated common block doesn't collide. * gfortran.h (gfc_common_head): Add new field 'name'. Fix typo in comment after #endif. * match.c (gfc_get_common): Add new argument from_common, mangle name if flag is set, fill in new field in structure gfc_common_head. (match_common): Set new arg in call to gfc_get_common, use-associated common block doesn't collide. * match.h (gfc_get_common): Adapt prototype. * module.c (load_commons): Set new arg in call to gfc_get_common. * symbol.c (free_common_tree): New function. (gfc_free_namespace): Call new function. * trans-common.c (several functions): Remove argument 'name', use name from gfc_common_head instead. From-SVN: r84476
2004-07-10re PR fortran/14077 (Data statement within a module that doesn't initialize ↵Tobias Schlüter1-1/+3
a whole array creates an error) PR fortran/14077 * moduele.c (mio_symbol): Don't I/O initial values unless symbol is a parameter. From-SVN: r84408
2004-07-09re PR fortran/15481 ([meta-bugs] frontend adds superfluous symbols to ↵Tobias Schlüter1-13/+0
namespaces) fortran/ 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 From-SVN: r84373
2004-06-29Andrew Vaught <andyv@firstinter.net>Tobias Schlüter1-20/+69
2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> Andrew Vaught <andyv@firstinter.net> PR fortran/13249 PR fortran/15481 * declc (gfc_match_save): Adapt to new common structures, don't allow saving USE-associated common. * dump-parse-tree (gfc_show_attr): (saved_)common are not symbol attributes any longer. (gfc_show_symbol): Don't show old-style commons any longer. (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new interface. * gfortran.h (symbol_attribute): Remove common and saved_common attributes. (gfc_symbol): Remove common_head element. (gfc_common_head): New struct. (gfc_get_common_head): New macro. (gfc_symtree): Add field 'common' to union. (gfc_namespace): Add field 'common_root'; change type of field 'blank_common' to blank_common. (gfc_add_data): New prototype. (gfc_traverse_symtree): Expect a symtree as first argument instead of namespace. * match.c (gfc_get_common): New function. (match_common_name): Change to take char * as argument, adapt, fix bug with empty name. (gfc_match_common): Adapt to new data structures. Disallow redeclaration of USE-associated COMMON-block. Fix bug with empty common. (var_element): Adapt to new common structures. * match.h (gfc_get_common): Declare. * module.c: Add 2004 to copyright years, add commons to module file layout description. (ab_attribute, attr_bits, mio_symbol_attributes): Remove code for removed attributes. (mio_symbol): Adapt to new way of storing common relations. (load_commons): New function. (read_module): Skip common list on first pass, load_commons at second. (write_commons): New function. (write_module): Call write_commons(). * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove functions related to removed attributes. (gfc_add_data): New function. (gfc_clear_attr): Don't set removed attributes. (gfc_copy_attr): Don't copy removed attributes. (traverse_symtree): Remove. (gfc_traverse_symtree): Don't traverse symbol tree of the passed namespace, but require a symtree to be passed instead. Unify with traverse_symtree. (gfc_traverse_ns): Call gfc_traverse_symtree according to new interface. (save_symbol): Remove setting of removed attribute. * trans-common.c (gfc_sym_mangled_common_id): Change to take 'char *' argument instead of 'gfc_symbol'. (build_common_decl, new_segment, translate_common): Adapt to new data structures, add new argument name. (create_common): Adapt to new data structures, add new argument name. Fix typo in intialization of derived types. (finish_equivalences): Add second argument in call to create_common. (named_common): take 'gfc_symtree' instead of 'gfc_symbol'. (gfc_trans_common): Adapt to new data structures. * trans-decl.c (gfc_create_module_variables): Also output symbols from commons. Co-Authored-By: Andrew Vaught <andyv@firstinter.net> From-SVN: r83871
2004-06-29module.c (mio_gmp_real): Correct writing of negative numbers.Tobias Schlüter1-0/+9
fortran/ * module.c (mio_gmp_real): Correct writing of negative numbers. testsuite/ * gfortran.fortran-torture/execute/parameter_2.f90: New test. Also corrected dates in previous ChangeLog entries From-SVN: r83862
2004-06-09re PR fortran/13372 (ICE in trans-types.c (gfc_typenode_for_spec), see #13201)Tobias Schlüter1-0/+13
fortran/ PR fortran/13372 * module.c (write_symbol, write_symtree): Don't write symbols wrongly added to namespace. * trans-decl.c (gfc_create_module_variable): Don't create a backend decl for a symbol incorrectly added to namespace. testsuite/ PR fortran/13372 * gfortran.fortran-torture/compile/named_args_2.f90: New test. From-SVN: r82834
2004-05-27gfortran.h (gfc_current_locus, [...]): Remove.Tobias Schlüter1-4/+4
* gfortran.h (gfc_current_locus, gfc_set_locus): Remove. (gfc_current_locus): Declare new global variable. * scanner.c (gfc_current_locus, gfc_set_locus): Remove. (gfc_current_locus1): Rename ... (gfc_current_locus): ... to this. (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char, skip_fixed_comments, skip_free_comments, gfc_next_char_literal, gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use gfc_current_locus instead of gfc_current_locus1, gfc_set_locus() and gfc_current_locus(), respectively. * array.c (match_subscript, gfc_match_array_ref, match_array_list, match_array_cons_element, gfc_match_array_constructor): Read/modify gfc_current_locus instead of calling gfc_set_locus() and gfc_current_locus(). * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec, match_attr_spec, gfc_match_function_decl, gfc_match_end, attr_decl1, gfc_match_save): Likewise. * error.c (error_print, gfc_internal_error): Likewise. * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise. * interface.c (gfc_add_interface): Likewise. * io.c (gfc_match_format, match_dt_format, match_dt_element, match_io_iterator, match_io): Likewise. * match.c (gfc_match_space, gfc_match_eos, gfc_match_small_literal_int, gfc_match_st_label, gfc_match_strings, gfc_match_name, gfc_match_iterator, gfc_match_char, gfc_match, gfc_match_assignment, gfc_match_pointer_assignment, gfc_match_if, gfc_match_do, gfc_match_nullify, gfc_match_call, match_implicit_range, gfc_match_implicit, gfc_match_data, match_case_selector, gfc_match_case, match_forall_iterator): Likewise. * matchexp.c (gfc_match_defined_op_name, next_operator, match_level_1, match_mult_operand, match_ext_mult_operand, match_add_operand, match_ext_add_operand, match_level_2, match_level_3, match_level_4, match_and_operand, match_or_operand, match_equiv_operand, match_level_5, gfc_match_expr): Likewise. * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise. * parse.c (match_word, decode_statement, next_free, next_fixed, add_statement, verify_st_order, parse_if_block, gfc_parse_file): Likewise. * primary.c (match_digits, match_integer_constant, match_boz_constant, match_real_constant, match_substring, next_string_char, match_charkind_name, match_string_constant, match_logical_constant, match_const_complex_part, match_complex_constant, match_actual_arg, match_keyword_arg, gfc_match_actual_arglist, gfc_match_structure_constructor, gfc_match_rvalue, gfc_match_variable): Likewise. * st.c (gfc_get_code): Likewise. * symbol.c (check_conflict, check_used, check_done, duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent, gfc_add_access, gfc_add_explicit_interface, gfc_add_type, gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise. From-SVN: r82320
2004-05-15re PR fortran/13702 (When preprocessing Fortran files (.F, .F90 and .F95) ↵Tobias Schlüter1-7/+2
cpp should emit line numbers.) PR fortran/13702 (Port from g95) * gfortran.h (gfc_linebuf): New typedef. (linebuf): Remove. (gfc_file): Revamped, use new gfc_linebuf. (locus): Revamped, use new types. (gfc_current_file): Remove. (gfc_current_form, gfc_source_file): New global variables. * match.c (gfc_match_space, gfc_match_strings): Use gfc_current_form to find source form. * module.c (gfc_dump_module): Use gfc_source_file when printing module header. * error.c (show_locus, show_loci) Use new data structures to print locus. * scanner.c (first_file, first_duplicated_file, gfc_current_file): Remove. (file_head, current_file, gfc_current_form, line_head, line_tail, gfc_current_locus1, gfc_source_file): New global variables. (gfc_scanner_init1): Set new global variables. (gfc_scanner_done1): Free new data structures. (gfc_current_locus): Return pointer to gfc_current_locus1. (gfc_set_locus): Set gfc_current_locus1. (gfc_at_eof): Set new variables. (gfc_at_bol, gfc_at_eol, gfc_advance_line, gfc_next_char): Adapt to new locus structure. (gfc_check_include): Remove. (skip_free_comments, skip_fixed_comments): Use gfc_current_locus1. (gfc_skip_comments): Use gfc_current_form, find locus with gfc_current_locus1. (gfc_next_char): Use gfc_current_form. (gfc_peek_char, gfc_gobble_whitespace): Use gfc_current_locus1. (load_line): Use gfc_current_form. Recognize ^Z as EOF. Fix comment formatting. (get_file): New function. (preprocessor_line, include_line): New functions. (load_file): Move down, rewrite to match new data structures. (gfc_new_file): Rewrite to match new data structures. * parse.c (next_statement): Remove code which is now useless. Use gfc_source_form and gfc_source_file where appropriate. * trans-decl.c (gfc_get_label_decl): adapt to new data structures when determining locus of frontend code. * trans-io.c (set_error_locus): Same. * trans.c (gfc_get_backend_locus, gfc_set_backend_locus): Likewise. * lang-specs.h (@f77-cpp-input, @f95-cpp-input): Remove '-P' from preprocessor flags. (all): Add missing initializers. From-SVN: r81888
2004-05-14Make-lang.in, [...]: Update copyright years and boilerplate.Tobias Schlüter1-12/+12
* Make-lang.in, arith.c, arith.h, array.c, bbt.c, check.c, 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. From-SVN: r81839
2004-05-13Merge tree-ssa-20020619-branch into mainline.Diego Novillo1-0/+3459
From-SVN: r81764