summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/primary.c
Commit message (Collapse)AuthorAgeFilesLines
...
* * primary.c (match_hollerith_constant): Use int, not unsigned int,steven2005-07-071-3/+3
| | | | | | | for the hollerith length. Fix indentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101707 138bc75d-0d04-0410-961f-82ee72b054a4
* For the 60th anniversary of Chinese people��s Anti-Japan war victory.fengwang2005-07-071-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-07-07 Feng Wang <fengwang@nudt.edu.cn> PR fortran/16531 PR fortran/15966 PR fortran/18781 * arith.c (gfc_hollerith2int, gfc_hollerith2real, gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical): New functions. (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist. * arith.h (gfc_hollerith2int, gfc_hollerith2real, gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical): Add prototypes. * expr.c (free_expr0): Free memery allocated for Hollerith constant. (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith. (gfc_check_assign): Enable conversion from Hollerith to other. * gfortran.h (bt): Add BT_HOLLERITH. (gfc_expr): Add from_H flag. * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH. (add_conversions): Add conversions from Hollerith constant to other. (do_simplify): Don't simplify if Hollerith constant arguments exist. * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU. * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH. (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH. * primary.c (match_hollerith_constant): New function. (gfc_match_literal_constant): Add match Hollerith before Integer. * simplify.c (gfc_convert_constant): Add conversion from Hollerith to other. * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to convert Hollerith constant to tree. * trans-io.c (gfc_convert_array_to_string): Get array's address and length to set string expr. (set_string): Deal with array assigned Hollerith constant and character array. * gfortran.texi: Document Hollerith constants as extention support. 2005-07-07 Feng Wang <fengwang@nudt.edu.cn> PR fortran/16531 PR fortran/15966 PR fortran/18781 * gfortran.dg/hollerith.f90: New. * gfortran.dg/hollerith2.f90: New. * gfortran.dg/hollerith3.f90: New. * gfortran.dg/hollerith4.f90: New. * gfortran.dg/hollerith_f95.f90: New. * gfortran.dg/hollerith_legacy.f90: New. * gfortran.dg/g77/cpp4.F: New. Port from g77. 2005-07-07 Feng Wang <fengwang@nudt.edu.cn> PR fortran/16531 * io/transfer.c (formatted_transfer): Enable FMT_A on other types to support Hollerith constants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101688 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kcook2005-06-251-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101310 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h: Add flag_backslash compile-time option.fxcoudert2005-06-201-1/+1
| | | | | | | | | | | | | | * lang.opt: Add support for -fbackslash option. * options.c: Likewise. * primary.c: Implement behavior for -fno-backslash. * invoke.texi: Add doc for -fbackslash option. * gfortran.texi: Remove mention of -fno-backslash as a possible extension. * gfortran.dg/backslash_1.f90: New test. * gfortran.dg/backslash_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101216 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/19926kargl2005-06-181-2/+5
| | | | | | | | * primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT for an array; check that sym->as is NULL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101161 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-04-25 Paul Brook <paul@codesourcery.com>pbrook2005-04-251-0/+5
| | | | | | | | | | | | | | | | | Steven G. Kargl <kargls@comcast.net> PR fortran/20879 * check.c (gfc_check_ichar_iachar): New function. * instinsic.h (gfc_check_ichar_iachar): Add prototype. * intrinsic.c (add_functions): Use it. * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect character expression lengths. testsuite/ * gfortran.dg/ichar_1.f90: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98686 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 19936kargl2005-03-051-0/+10
| | | | | | | | * primary.c (match_complex_constant): Mangled complex constant may be an implied do-loop. Give implied do-loop matcher a chance. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95951 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/20058kargl2005-02-281-10/+8
| | | | | | | | | | | * trans-types.c (gfc_max_integer_kind): Declare (gfc_init_kinds): Initialize it. * gfortran.h (gfc_max_integer_kind): extern it. * primary.c (match_boz_constant): Use it; remove gfortran extension of kind suffixes on BOZ literal constants git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95643 138bc75d-0d04-0410-961f-82ee72b054a4
* Unrevert previously reversed patch, adding this patch:tobi2005-02-241-2/+2
| | | | | | | * module.c (find_true_name): Deal with NULL module. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95506 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert yesterday's patch:tobi2005-02-241-2/+2
| | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95496 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Maketobi2005-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95472 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,tobi2005-02-071-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2004-01-23 Paul Brook <paul@codesourcery.com>pbrook2005-01-231-166/+51
| | | | | | | | | | | | | | | | | | | | Steven G. Kargl <kargls@comcast.net> PR fortran/17941 * arith.c (gfc_convert_real): Remove sign handling. * primary.c (match_digits): Allow whitespace after initial sign. (match_real_const): Handle signs here. Allow whitespace after initial sign. Remove dead code. (match_const_complex_part): Remove. (match_complex_part): Use match_{real,integer}_const. (match_complex_constant): Cross-promote integer types. testsuite/ * gfortran.dg/real_const_1.f: New test. * gfortran.dg/real_const_2.f90: New test. * gfortran.dg/complex_int_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94127 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-22 Paul Brook <paul@codesourcery.com>pbrook2005-01-221-11/+19
| | | | | | | | | | | | | | | * 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
* * primary.c (check_digit): Call 'ISXDIGIT' instead of assumingtobi2005-01-151-2/+3
| | | | | | | ASCII-like character encoding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93713 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c: Add system.h; remove string.hrth2005-01-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,kazu2004-11-081-2/+2
| | | | | | | | | | 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
* fortran/tobi2004-10-071-15/+21
| | | | | | | | | | | | * primary.c (match_boz_constant): Allow kind parameter suffixes. Move standard warning further to the front. testsuite/ * gfortran.fortran-torture/execute/intrinsic_mvbits.f90, gfortran.dg/ishft.f90: Add more tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88690 138bc75d-0d04-0410-961f-82ee72b054a4
* * primary.c: Update copyright boilerplate to say GCC.tobi2004-08-311-12/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86826 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.h (gfc_default_*_kind): Remove prototypes, add externtobi2004-08-271-10/+10
| | | | | | | | | | | | | | | 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
* * arith.c (gfc_validate_kind): Add may_fail argument; abort ifrth2004-08-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | false and we don't validate the kind. (gfc_check_integer_range, gfc_check_real_range): Update to match. * check.c (kind_check): Likewise. * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise. (match_char_spec, match_logical_spec): Likewise. * gfortran.h (gfc_validate_kind): Likewise. * options.c (gfc_handle_option): Likewise. * primary.c (match_integer_constant, match_real_constant, match_string_constant, match_logical_constant, match_const_complex_part): Likewise. * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits, gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr, gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc, gfc_simplify_maxexponent, gfc_simplify_minexponent, gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision, gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing, gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan, gfc_simplify_tiny): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod, gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, prepare_arg_info): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86608 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-06 Steven G. Kargl <kargls@comcast.net>pbrook2004-08-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85652 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/16433tobi2004-07-111-7/+13
| | | | | | | | * primary.c (match_boz_constant): Call gfc_notify_std only if we actually have a non-standard boz-literal-constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84514 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2004-07-091-23/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * gfortran.h (gfc_current_locus, gfc_set_locus): Remove.tobi2004-05-271-52/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82320 138bc75d-0d04-0410-961f-82ee72b054a4
* * invoke.texi: Document -Wunderflow and spell check.pbrook2004-05-221-2/+4
| | | | | | | | | | | | | | * lang.opt: Add Wunderflow. * gfortran.h (gfc_option_t): Add warn_underflow option. * options.c (gfc_init_options, set_Wall): Use it. * primary.c (match_real_constant): Explicitly handle UNDERFLOW. * arith.c (gfc_arith_uminus, gfc_arith_plus, gfc_arith_minus, gfc_arith_times, gfc_arith_divide, gfc_arith_power, gfc_real2real, gfc_real2complex, gfc_complex2real, gfc_complex2complex): Ditto. * arith.c (common_logarithm): Fix typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82130 138bc75d-0d04-0410-961f-82ee72b054a4
* testsuite:tobi2004-05-151-3/+6
| | | | | | | | | | | | | | PR fortran/13826 PR fortran/13940 * gfortran.fortran-torture/compile/data_1.f90: New test. (add second test) fortran: * primary.c (match_boz_constant): Use gfc_notify_std() for issuing a warning or an error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81892 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran:tobi2004-05-151-3/+3
| | | | | | | | | | | | | | | | | PR fortran/13826 * primary.c (match_structure_constructor): Rename ... (gfc_match_structure_constructor): ... to this. Make non-static. (gfc_match_rvalue): Call renamed function. * match.h (gfc_match_structure_constructor): Declare. * match.c (gfc_match_data_constant): Handle structure constructor. testsuite: PR fortran/13826 * gfortran.fortran-torture/compile/data_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81891 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge tree-ssa-20020619-branch into mainline.dnovillo2004-05-131-0/+2214
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81764 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud