summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/check.c
Commit message (Collapse)AuthorAgeFilesLines
...
* 2007-12-22 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2007-12-221-0/+3
| | | | | | | | | | | | | | | PR fortran/34549 * check.c (gfc_check_cshift): Add check that shift is type INTEGER. 2007-12-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/34549 * cshift_shift_real_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131136 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-11-241-4/+2
| | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-11-201-2/+4
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130304 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-11-181-11/+2
| | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130276 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2007-10-271-0/+55
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129673 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/tobi2007-09-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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. testsuite/ * gfortran.dg/array_initializer_3.f90: Adapt error annotations for fixed capitalizations. * gfortran.dg/compliant_elemental_intrinsics_1.f90: Likewise. * gfortran.dg/compliant_elemental_intrinsics_2.f90: Likewise. * gfortran.dg/elemental_subroutine_4.f90: Likewise. * gfortran.dg/intrinsic_argument_conformance_1.f90: Likewise. * gfortran.dg/maxloc_shape_1.f90: Likewise. * gfortran.dg/maxval_maxloc_conformance_1.f90: Likewise. * gfortran.dg/min_max_conformance.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128849 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-21 Tobias Burnus <burnus@net-b.de>burnus2007-09-211-0/+40
| | | | | | | | | | | | | | | PR fortran/33455 * check.c (check_same_strlen): New function. (gfc_check_merge): Use it. 2007-09-21 Tobias Burnus <burnus@net-b.de> PR fortran/33455 * gfortran.dg/merge_char_3.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128647 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-12 Tobias Burnus <burnus@net-b.de>burnus2007-09-121-39/+38
| | | | | | | | | | | | | | | | | | | | | | | 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/33297 * gfortran.dg/intrinsic_size.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128424 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/32989fxcoudert2007-08-291-0/+22
| | | | | | | | | | | | | | | * 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. * gfortran.fortran-torture/execute/getarg_1.f90: Add check for non-default integer kind arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127905 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29600fxcoudert2007-08-121-1/+3
| | | | | | | | | | | | | | | * 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. * gfortran.dg/intrinsics_kind_argument_1.f90: Add test for ACHAR intrinsic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127385 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/30964fxcoudert2007-08-121-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. * intrinsics/random.c (random_seed): Rename into random_seed_i4. (random_seed_i8): New function. * gfortran.map (GFORTRAN_1.0): Remove _gfortran_random_seed, add _gfortran_random_seed_i4 and _gfortran_random_seed_i8. * libgfortran.h (iexport_proto): Replace random_seed by random_seed_i4 and random_seed_i8. * runtime/main.c (init): Call the new random_seed_i4. * gfortran.dg/random_4.f90: New test. * gfortran.dg/random_5.f90: New test. * gfortran.dg/random_6.f90: New test. * gfortran.dg/random_7.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127383 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29600fxcoudert2007-08-121-9/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. * gfortran.dg/intrinsics_kind_argument_1.f90: New test. * gfortran.dg/pure_dummy_length_1.f90: Adapt to new error wording. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127380 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29828fxcoudert2007-08-061-3/+10
| | | | | | | | | | | | | | | | | | | | | | | * 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. * intrinsics/string_intrinsics.c (string_minmax): New function and prototype. * gfortran.map (GFORTRAN_1.0): Add _gfortran_string_minmax * gfortran.dg/minmax_char_1.f90: New test. * gfortran.dg/minmax_char_2.f90: New test. * gfortran.dg/min_max_optional_4.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127252 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/32979fxcoudert2007-08-051-0/+10
| | | | | | | | | | | | | | | | * 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. * gfortran.dg/isnan_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127224 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-01 Tobias Burnus <burnus@net-b.de>burnus2007-08-011-3/+3
| | | | | | | | | | | | | | | | | | 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 Tobias Burnus <burnus@net-b.de> PR fortran/32936 * gfortran.dg/allocate_stat.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127135 138bc75d-0d04-0410-961f-82ee72b054a4
* * arith.c: Change copyright header to refer to version 3 of the GNU General nickc2007-08-011-4/+3
| | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127129 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:dfranke2007-07-221-51/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. gcc/testsuite: 2007-07-22 Daniel Franke <franke.daniel@gmail.com> PR fortran/29962 * gfortran.dg/array_initializer_1.f90: Removed warning. * gfortran.dg/initialization_1.f90: Adjusted messages. * gfortran.dg/nested_modules_6.f90: Removed warning. PR fortran/31253 * gfortran.dg/initialization_7.f90: New test. PR fortran/31639 * gfortran.dg/initialization_8.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126826 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-28 Tobias Schlter <tobi@gcc.gnu.org>tobi2007-05-291-0/+7
| | | | | | | | | | | | | | | | | | | fortran/ * 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. testsuite/ * gfortran.dg/sizeof.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125161 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 31972/fortranbrooks2007-05-281-0/+7
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125141 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:dfranke2007-05-201-14/+15
| | | | | | | | | | | | | | | | | | | 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. gcc/testsuite: 2007-05-20 Daniel Franke <franke.daniel@gmail.org> PR fortran/32001 * gfortran.dg/min_max_conformance.f90: Added more testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124869 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:dfranke2007-05-171-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. gcc/testsuite: 2007-05-17 Daniel Franke <franke.daniel@gmail.com> PR fortran/31919 * gfortran.dg/min_max_conformance.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124794 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:dfranke2007-05-041-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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. gcc/testsuite: 2007-05-04 Daniel Franke <franke.daniel@gmail.com> PR fortran/31760 * gfortran.dg/erf.f90: New test. * gfortran.dg/besxy.f90: New test. [gcc/fortran/ChangeLog was already committed in r124441 by accident] git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124446 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-05-04 Daniel Franke <franke.daniel@gmail.com>dfranke2007-05-041-1/+1
| | | | | | | | * check.c (gfc_check_fseek_sub): Fixed typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124440 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran:dfranke2007-05-041-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-04 Daniel Franke <franke.daniel@gmail.com> PR fortran/22539 * 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. gcc/testsuite: 2007-05-01 Daniel Franke <franke.daniel@gmail.com> PR fortran/22539 * gfortran.dg/fseek.f90: New test. libgfortran: 2007-05-04 Daniel Franke <franke.daniel@gmail.com> PR fortran/22539 * io/intrinsics.c (fseek_sub): New. * io/unix.c (fd_fseek): Change logical and physical offsets only if seek succeeds. * gfortran.map (fseek_sub): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124437 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-07 Paul Thomas <pault@gcc.gnu.org>pault2007-04-071-0/+12
| | | | | | | | | | | | | | 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/31222 * gfortran.dg/default_numeric_type_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123643 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-08 Daniel Franke <franke.daniel@gmail.com>dfranke2007-03-081-0/+3
| | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122715 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-03-03 Paul Thomas <pault@gcc.gnu.org>burnus2007-03-031-1/+4
| | | | | | | | | | | | | | | | | | | | | PR fortran/30882 * check.c (dim_rank_check): The shape of subsections of assumed-size arrays is known. 2007-03-03 Paul Thomas <pault@gcc.gnu.org> PR fortran/30882 * gfortran.dg/size_dim.f90: New test. -- Diese und die folgenden Zeilen werden ignoriert -- M gcc/testsuite/ChangeLog A gcc/testsuite/gfortran.dg/size_dim.f90 M gcc/fortran/ChangeLog M gcc/fortran/check.c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122503 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>kargl2007-01-071-323/+329
| | | | | | | | | | | | | | * array.c, bbt.c, check.c: Update copyright years. Whitespace. 2006-01-06 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/present_1.f90: Update error message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120542 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 30371brooks2007-01-051-0/+6
| | | | | | | | * check.c (gfc_check_kill_sub): Add checks for non-scalar arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120468 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-10 Paul Thomas <pault@gcc.gnu.org>pault2006-11-101-0/+33
| | | | | | | | | | | | | | | | | | | PR fortran/29758 * check.c (gfc_check_reshape): Check that there are enough elements in the source array as to be able to fill an array defined by shape, when pad is absent. 2006-11-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/29758 * gfortran.dg/reshape_source_size_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118664 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (same_type_check): Typo fix in comment.brooks2006-11-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118647 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-05 Erik Edelmann <edelmann@gcc.gnu.org>pault2006-10-081-1/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paul Thomas <pault@gcc.gnu.org> PR fortran/20541 * interface.c (gfc_compare_derived_types): Add comparison of the allocatable field. * intrinsic.c (add_subroutines): Add MOVE_ALLOC. * trans-expr.c (gfc_conv_aliased_arg, gfc_trans_subarray_assign, gfc_trans_subcomponent_assign, gfc_conv_string_parameter, gfc_trans_scalar_assign): Add extra arguments l_is_temp and r_is_var to references to latter function. (gfc_conv_function_call): Add enum for types of argument and an associated variable parm_kind. Deallocate components of INTENT(OUT) and non-variable arrays. (gfc_trans_subcomponent_assign): Add block to assign arrays to allocatable components. (gfc_trans_scalar_assign): Add block to handle assignments of derived types with allocatable components, using the above new arguments to control allocation/deallocation of memory and the copying of allocated arrays. * trans-array.c (gfc_array_allocate): Remove old identification of pointer and replace with that of an allocatable array. Add nullify of structures with allocatable components. (gfc_conv_array_initializer): Treat EXPR_NULL. (gfc_conv_array_parameter): Deallocate allocatable components of non-variable structures. (gfc_trans_dealloc_allocated): Use second argument of library deallocate to inhibit, without error, freeing NULL pointers. (get_full_array_size): New function to return the size of a full array. (gfc_duplicate_allocatable): New function to allocate and copy allocated data. (structure_alloc_comps): New recursive function to deallocate, nullify or copy allocatable components. (gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp, gfc_copy_alloc_comp): New interface functions to call previous. (gfc_trans_deferred_array): Add the code to nullify allocatable components, when entering scope, and to deallocate them on leaving. Do not call gfc_trans_static_array_pointer and return for structures with allocatable components and default initializers. * symbol.c (gfc_set_component_attr): Set allocatable field. (gfc_get_component_attr): Set the allocatable attribute. * intrinsic.h : Prototype for gfc_check_move_alloc. * decl.c (build_struct): Apply TR15581 constraints for allocatable components. (variable_decl): Default initializer is always NULL for allocatable components. (match_attr_spec): Allow, or not, allocatable components, according to the standard in force. * trans-array.h : Prototypes for gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp, gfc_copy_alloc_comp and gfc_duplicate_allocatable. * gfortran.texi : Add mention of TR15581 extensions. * gfortran.h : Add attribute alloc_comp, add gfc_components field allocatable and add the prototype for gfc_expr_to_initialize. * trans-stmt.c (generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, gfc_trans_where_assign, gfc_trans_where_3): Add extra arguments to calls to gfc_trans_scalar_assign and set appropriately. (gfc_trans_allocate): Nullify allocatable components. (gfc_trans_deallocate): Deallocate to ultimate allocatable components but stop at ultimate pointer components. * module.c (mio_symbol_attribute, mio_symbol_attribute, mio_component): Add module support for allocatable components. * trans-types.c (gfc_get_derived_type): Treat allocatable components. * trans.h : Add two boolean arguments to gfc_trans_scalar_assign. * resolve.c (resolve_structure_cons): Check conformance of constructor element and the component. (resolve_allocate_expr): Add expression to nullify the constructor expression for allocatable components. (resolve_transfer): Inhibit I/O of derived types with allocatable components. (resolve_fl_derived): Skip check of bounds of allocatable components. * trans-decl.c (gfc_get_symbol_decl): Add derived types with allocatable components to deferred variable. (gfc_trans_deferred_vars): Make calls for derived types with allocatable components to gfc_trans_deferred_array. (gfc_generate_function_code): Nullify allocatable component function result on entry. * parse.c (parse_derived): Set symbol attr.allocatable if allocatable components are present. * check.c (gfc_check_allocated): Enforce attr.allocatable for intrinsic arguments. (gfc_check_move_alloc): Check arguments of move_alloc. * primary.c (gfc_variable_attr): Set allocatable attribute. * intrinsic.texi : Add index entry and section for for move_alloc. PR fortran/29115 * resolve.c (resolve_structure_cons): It is an error if the pointer component elements of a derived type constructor are not pointer or target. PR fortran/29211 * trans-stmt.c (generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp): Provide a string length for the temporary by copying that of the other side of the scalar assignment. 2006-10-05 Paul Thomas <pault@gcc.gnu.org> Erik Edelmann <edelmann@gcc.gnu.org> PR libgfortran/20541 * Makefile.in : Add move_alloc. * intrinsics/move_alloc.c: New function. * Makefile.am : Add move_alloc. 2006-10-05 Erik Edelmann <edelmann@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR fortran/20541 * gfortran.dg/alloc_comp_basics_1.f90: New test. * gfortran.dg/alloc_comp_basics_2.f90: New test. * gfortran.dg/alloc_comp_assign_1.f90: New test. * gfortran.dg/alloc_comp_assign_2.f90: New test. * gfortran.dg/alloc_comp_assign_3.f90: New test. * gfortran.dg/alloc_comp_assign_4.f90: New test. * gfortran.dg/alloc_comp_constraint_1.f90: New test. * gfortran.dg/alloc_comp_constraint_2.f90: New test. * gfortran.dg/alloc_comp_constraint_3.f90: New test. * gfortran.dg/alloc_comp_constructor_1.f90: New test. * gfortran.dg/alloc_comp_constructor_2.f90: New test. * gfortran.dg/alloc_comp_initializer_1.f90: New test. * gfortran.dg/alloc_comp_std.f90: New test. * gfortran.dg/move_alloc.f90: New test. PR fortran/29115 * gfortran.dg/derived_constructor_comps_2.f90: New test. PR fortran/29211 * gfortran.dg/forall_char_dependencies_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117558 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/28585fxcoudert2006-10-081-0/+8
| | | | | | | | | | | | | | * intrinsic.c (add_functions): Add new_line Fortran 2003 intrinsic. * intrinsic.h: Add gfc_simplify_new_line and gfc_check_new_line prototypes. * check.c (gfc_check_new_line): New function. * simplify.c (gfc_simplify_new_line): New function. * intrinsic.texi: Document new_line intrinsic. * gfortran.dg/new_line.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117555 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsic.c (add_functions): Add ACCESS, CHMOD, RSHIFT, LSHIFT.fxcoudert2006-07-301-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (add_subroutines): Add LTIME, GMTIME and CHMOD. * intrinsic.h (gfc_check_access_func, gfc_check_chmod, gfc_check_chmod_sub, gfc_check_ltime_gmtime, gfc_simplify_rshift, gfc_simplify_lshift, gfc_resolve_access, gfc_resolve_chmod, gfc_resolve_rshift, gfc_resolve_lshift, gfc_resolve_chmod_sub, gfc_resolve_gmtime, gfc_resolve_ltime): Add prototypes. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_ACCESS, GFC_ISYM_CHMOD, GFC_ISYM_LSHIFT, GFC_ISYM_RSHIFT. * iresolve.c (gfc_resolve_access, gfc_resolve_chmod, gfc_resolve_rshift, gfc_resolve_lshift, gfc_resolve_chmod_sub, gfc_resolve_gmtime, gfc_resolve_ltime): New functions. * check.c (gfc_check_access_func, gfc_check_chmod, gfc_check_chmod_sub, gfc_check_ltime_gmtime): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_rlshift): New function. (gfc_conv_intrinsic_function): Add cases for the new GFC_ISYM_*. * intrinsics/date_and_time.c: Add functions for GMTIME and LTIME. * intrinsics/access.c: New file. * intrinsics/chmod.c: New file. * configure.ac: Add checks for <sys/wait.h>, access, fork,execl and wait. * Makefile.am: Add new files intrinsics/access.c and intrinsics/chmod.c. * configure: Regenerate. * config.h.in: Regenerate. * Makefile.in: Regenerate. * gcc/testsuite/gfortran.dg/chmod_3.f90: New test. * gcc/testsuite/gfortran.dg/ltime_gmtime_1.f90: New test. * gcc/testsuite/gfortran.dg/ltime_gmtime_2.f90: New test. * gcc/testsuite/gfortran.dg/lrshift_1.f90: New test. * gcc/testsuite/gfortran.dg/chmod_1.f90: New test. * gcc/testsuite/gfortran.dg/chmod_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115825 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsic.c (add_functions): Add INT2, SHORT, INT8, LONG,fxcoudert2006-07-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LSTAT, MCLOCK and MCLOCK8 intrinsic functions. (add_subroutines): Add LSTAT intrinsic subroutine. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_INT2, GFC_ISYM_INT8, GFC_ISYM_LONG, GFC_ISYM_LSTAT, GFC_ISYM_MCLOCK and GFC_ISYM_MCLOCK8. * iresolve.c (gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long, gfc_resolve_lstat, gfc_resolve_mclock, gfc_resolve_mclock8, gfc_resolve_lstat_sub): New functions. * check.c (gfc_check_intconv): New function. * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for the added GFC_ISYM_*. * simplify.c (gfc_simplify_intconv, gfc_simplify_int2, gfc_simplify_int8, gfc_simplify_long): New functions. * intrinsic.h (gfc_check_intconv, gfc_simplify_int2, gfc_simplify_int8, gfc_simplify_long, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long, gfc_resolve_lstat, gfc_resolve_mclock, gfc_resolve_mclock8, gfc_resolve_lstat_sub): Add prototypes. * gfortran.dg/mclock.f90: New test. * gfortran.dg/int_conv_1.f90: New test. * gfortran.dg/stat_1.f90: New test. * gfortran.dg/stat_2.f90: New test. * configure.ac: Check for function clock. * Makefile.am: Compile new file intrinsics/clock.c. * intrinsics/clock.c: New file. * Makefile.in: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. * intrinsics/stat.c: Rename the old stat_i?_sub functions to helper functions stat_i?_sub_0, and use them for both STAT and LSTAT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115754 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-07-13 Paul Thomas <pault@gcc.gnu.org>pault2006-07-131-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/28174 * trans-expr.c (gfc_conv_aliased_arg): Missing formal arg means that intent is INOUT (fixes regression). PR fortran/25097 * check.c (check_present): The only permitted reference is a full array reference. PR fortran/20903 * decl.c (variable_decl): Add error if a derived type is not from the current namespace if the namespace is an interface body. 2006-07-13 Paul Thomas <pault@gcc.gnu.org> PR fortran/25097 * gfortran.dg/present_1.f90: New test. PR fortran/20903 * gfortran.dg/interface_derived_type_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115410 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsic.c (add_subroutines): Add ITIME and IDATE.fxcoudert2006-07-041-0/+22
| | | | | | | | | | | | | | | | | * intrinsic.h (gfc_check_itime_idate,gfc_resolve_idate, fc_resolve_itime): New protos. * iresolve.c (gfc_resolve_itime, gfc_resolve_idate): New functions. * check.c (gfc_check_itime_idate): New function. * intrinsic.texi: Document the new intrinsics. * intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8, idate_i4,idate_i8): New functions. * gfortran.dg/itime_idate_1.f: New test. * gfortran.dg/itime_idate_2.f: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115173 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c: Fix a comment typo.kazu2006-06-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115101 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-20 Paul Thomas <pault@gcc.gnu.org>pault2006-06-201-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/25049 PR fortran/25050 * check.c (non_init_transformational): New function. (find_substring_ref): New function to signal use of disallowed transformational intrinsic in an initialization expression. (gfc_check_all_any): Call previous if initialization expr. (gfc_check_count): The same. (gfc_check_cshift): The same. (gfc_check_dot_product): The same. (gfc_check_eoshift): The same. (gfc_check_minloc_maxloc): The same. (gfc_check_minval_maxval): The same. (gfc_check_gfc_check_product_sum): The same. (gfc_check_pack): The same. (gfc_check_spread): The same. (gfc_check_transpose): The same. (gfc_check_unpack): The same. PR fortran/18769 *intrinsic.c (add_functions): Add gfc_simplify_transfer. *intrinsic.h : Add prototype for gfc_simplify_transfer. *simplify.c (gfc_simplify_transfer) : New function to act as placeholder for eventual implementation. Emit error for now. PR fortran/16206 * expr.c (find_array_element): Eliminate condition on length of offset. Add bounds checking. Rearrange exit. Return try and put gfc_constructor result as an argument. (find_array_section): New function. (find_substring_ref): New function. (simplify_const_ref): Add calls to previous. (simplify_parameter_variable): Return on NULL expr. (gfc_simplify_expr): Only call gfc_expand_constructor for full arrays. PR fortran/20876 * match.c (gfc_match_forall): Add missing locus to gfc_code. 2006-06-20 Paul Thomas <pault@gcc.gnu.org> PR libfortran/28005 * m4/matmul.m4: aystride = 1 does not uniquely detect the presence of a temporary transpose; an array element in the first dimension produces the same signature. Detect this using the rank of a and add specific code. * generated/matmul_r4.c: Regenerate. * generated/matmul_r8.c: Regenerate. * generated/matmul_r10.c: Regenerate. * generated/matmul_r16.c: Regenerate. * generated/matmul_c4.c: Regenerate. * generated/matmul_c8.c: Regenerate. * generated/matmul_c10.c: Regenerate. * generated/matmul_c16.c: Regenerate. * generated/matmul_i4.c: Regenerate. * generated/matmul_i8.c: Regenerate. * generated/matmul_i16.c: Regenerate. 2006-06-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/16206 * gfortran.dg/array_initializer_1.f90: New test. PR fortran/28005 * gfortran.dg/matmul_3.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114802 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-06-05 Paul Thomas <pault@gcc.gnu.org>pault2006-06-051-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/14067 * data.c (create_character_intializer): Add warning message for truncated string. PR fortran/16943 * symbol.c : Include flags.h. (gfc_add_type): If a procedure and types are the same do not throw an error unless standard is less than gnu or pedantic. PR fortran/20838 * parse.c (parse_do_block): Error if named block do construct does not have a named enddo. PR fortran/27655 * check.c (gfc_check_associated): Pick up EXPR_NULL for pointer as well as target and put error return at end of function. 2006-06-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/14067 * gfortran.dg/data_char_1.f90: Add messages for truncated strings. PR fortran/16943 * gfortran.dg/func_decl_2.f90: New test. PR fortran/20838 * gfortran.dg/do_2.f90: New test. PR fortran/27655 * gfortran.dg/associated_3.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114385 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c, expr.c, resolve.c, trans-common.c,kazu2006-05-281-1/+1
| | | | | | | trans-intrinsic.c, trans-stmt.c, trans-types.c: Fix comment typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114170 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-05-21 Paul Thomas <pault@gcc.gnu.org>pault2006-05-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR fortran/25746 * interface.c (gfc_extend_assign): Use new code EXEC_ASSIGN_CALL. * gfortran.h : Put EXEC_ASSIGN_CALL in enum. * trans-stmt.c (gfc_conv_elemental_dependencies): New function. (gfc_trans_call): Call it. Add new boolian argument to flag need for dependency checking. Assert intent OUT and IN for arg1 and arg2. (gfc_trans_forall_1): Use new code EXEC_ASSIGN_CALL. trans-stmt.h : Modify prototype of gfc_trans_call. trans.c (gfc_trans_code): Add call for EXEC_ASSIGN_CALL. st.c (gfc_free_statement): Free actual for EXEC_ASSIGN_CALL. * dependency.c (gfc_check_fncall_dependency): Don't check other against itself. PR fortran/25090 * resolve.c : Remove resolving_index_expr. (entry_parameter): Remove. (gfc_resolve_expr, resolve_charlen, resolve_fl_variable): Remove calls to entry_parameter and references to resolving_index_expr. PR fortran/27584 * check.c (gfc_check_associated): Replace NULL assert with an error message, since it is possible to generate bad code that has us fall through to here.. PR fortran/19015 * iresolve.c (maxloc, minloc): If DIM is not present, pass the rank of ARRAY as the shape of the result. Otherwise, pass the shape of ARRAY, less the dimension DIM. (maxval, minval): The same, when DIM is present, otherwise no change. 2006-05-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/25746 * gfortran.dg/elemental_subroutine_3.f90: New test. PR fortran/25090 * gfortran.dg/entry_dummy_ref_1.f90: Remove. PR fortran/27584 * gfortran.dg/associated_target_1.f90: New test. PR fortran/19015 * gfortran.dg/maxloc_shape_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113949 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c: Update copyright years.tobi2006-02-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111110 138bc75d-0d04-0410-961f-82ee72b054a4
* * check.c (gfc_check_minloc_maxloc, check_reduction): Don't calltobi2006-02-151-2/+2
| | | | | | | | dim_range_check on not-present optional dim argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111108 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-14 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2006-02-141-16/+13
| | | | | | | | | | | | | | | | | PR fortran/25045 * check.c (dim_check): Perform all checks if dim is optional. (gfc_check_minloc_maxloc): Use dim_check and dim_rank_check to check dim argument. (check_reduction): Likewise. 2006-02-14 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/25045 * optional_dim.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110994 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-04 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2006-02-041-12/+85
| | | | | | | | | | | | | | | | | | | | PR fortran/25075 check.c (identical_dimen_shape): New function. (check_dot_product): Use identical_dimen_shape() to check sizes for dot_product. (gfc_check_matmul): Likewise. (gfc_check_merge): Check conformance between tsource and fsource and between tsource and mask. (gfc_check_pack): Check conformance between array and mask. 2006-02-04 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/25075 intrinsic_argument_conformance_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110596 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-01-31 Thomas Koenig <Thomas.Koenig@online.de>tkoenig2006-01-311-1/+22
| | | | | | | | | | | | | | | | | PR fortran/26039 expr.c (gfc_check_conformance): Reorder error message to avoid plural. check.c(gfc_check_minloc_maxloc): Call gfc_check_conformance for checking arguments array and mask. (check_reduction): Likewise. 2006-01-31 Thomas Koenig <Thomas.Koenig@online.de> PR fortran/26039 maxval_maxloc_conformance_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110453 138bc75d-0d04-0410-961f-82ee72b054a4
* fortran/eedelman2005-12-081-5/+14
| | | | | | | | | | | | | | | | | | | | | 2005-12-08 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/25292 * check.c (gfc_check_associated): Allow function results as actual arguments to ASSOCIATED. Moved a misplaced comment. testsuite/ 2005-12-08 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/25292 * gfortran.dg/associated_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108238 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/23912fxcoudert2005-11-271-2/+15
| | | | | | | | | | | | | | | | * iresolve.c (gfc_resolve_dim, gfc_resolve_mod, gfc_resolve_modulo): When arguments have different kinds, fold the lower one to the largest kind. * check.c (gfc_check_a_p): Arguments of different kinds is not a hard error, but an extension. * simplify.c (gfc_simplify_dim, gfc_simplify_mod, gfc_simplify_modulo): When arguments have different kinds, fold the lower one to the largest kind. * gfortran.dg/modulo_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107566 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsics/fget.c: New file.fxcoudert2005-11-131-0/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * intrinsics/ftell.c: New file. * io/unix.c (stream_offset): New function. * io/io.h: Add prototype for stream_offset. * Makefile.am: Add intrinsics/fget.c and intrinsics/ftell.c. * Makefile.in: Regenerate. * intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET, FPUTC, FPUT, AND, XOR and OR intrinsic functions. (add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic subroutines. * gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR, GFC_ISYM_XOR. * iresolve.c (gfc_resolve_and, gfc_resolve_complex, gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget, gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell, gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub, gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub): New functions. * check.c (gfc_check_complex, gfc_check_fgetputc_sub, gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput, gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions. * simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or, gfc_simplify_xor): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and GFC_ISYM_XOR. * intrinsic.h: Add prototypes for all functions added to iresolve.c, simplify.c and check.c. * gfortran.dg/complex_intrinsic_1.f90: New test. * gfortran.dg/complex_intrinsic_2.f90: New test. * gfortran.dg/fgetc_1.f90: New test. * gfortran.dg/fgetc_2.f90: New test. * gfortran.dg/fgetc_3.f90: New test. * gfortran.dg/ftell_1.f90: New test. * gfortran.dg/ftell_2.f90: New test. * gfortran.dg/gnu_logical_1.F: New test. * gfortran.dg/gnu_logical_2.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106859 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud