aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/iresolve.c
AgeCommit message (Collapse)AuthorFilesLines
2004-10-04re PR fortran/17776 (no subroutine system)Tobias Schlüter1-0/+21
fortran/ PR fortran/17776 * check.c (gfc_check_system_sub): New function. * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM. * intrinsic.c (add_functions): Add 'system'. (add_subroutines): Add 'system'. * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub): Move prototypes to other suborutines. (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub): Add prototype. (gfc_resolve_system_clock): Fix formatting of prototype. * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with GFC_ISYM_SYSTEM. libgfortran/ PR fortran/17776 * intrinsics/system.c: New file. * Makefile.am: Add dependency for the new file. * Makefile.in: Regenerate. From-SVN: r88532
2004-10-04re PR libfortran/17631 (libfortran: intrinsic subroutine MVBITS not implemented)Tobias Schlüter1-1/+13
PR fortran/17631 fortran/ * intrinsic.c (add_sym_5): Remove. (add_subroutines): Add resolution function for MVBITS. * intrinsic.h (gfc_resolve_mvbits): Declare resolution function for MVBITS * iresolve.c (gfc_resolve_mvbits): New function. (gfc_resolve_random_number): Remove empty line at end of function. libgfortran/ * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h. * intrinsics/mvbits.h: New file. testsuite/ * gfortran.fortran-torture/execute/intrinsic_mvbits.f90: New test. From-SVN: r88527
2004-10-04re PR fortran/17283 (UNPACK issues)Tobias Schlüter1-3/+21
PR fortran/17283 fortran/ * iresolve.c (gfc_resolve_pack): Choose function depending if mask is scalar. libgfortran/ * intrinsics/pack_generic.c (__pack): Allocate memory for return array if not done by caller. (__pack_s): New function. * runtime/memory.c (internal_malloc, internal_malloc64): Allow allocating zero memory. testsuite/ * gfortran.fortran-torture/execute/intrinsic_pack.f90: Add more tests. From-SVN: r88526
2004-09-24intrinsic.h (gfc_resolve_getcwd): Update prototype.Tobias Schlüter1-1/+1
* intrinsic.h (gfc_resolve_getcwd): Update prototype. * iresolve.c (gfc_resolve_getcwd): Add second argument to function. From-SVN: r88055
2004-09-15check.c (gfc_check_getcwd_sub): New function.Steven G. Kargl1-0/+26
2004-09-15 Steven G. Kargl <kargls@comcast.net> * check.c (gfc_check_getcwd_sub): New function. * gfortran.h (GFC_ISYM_GETCWD): New symbol. * intrinsic.c (add_functions): Add function definition; Use symbol. * intrinsic.c (add_subroutines): Add subroutine definitions. * intrinsic.h: Add prototypes. * iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol. libgfortran/ * intrinsics/getcwd.c: New file. * Makefile.am: Add getcwd.c. * Makefile.in: Regenerated. From-SVN: r87552
2004-09-08array.c: Don't include assert.h.Paul Brook1-1/+0
* array.c: Don't include assert.h. * data.c: Don't include assert.h. Replace assert and abort with gcc_assert and gcc_unreachable. * dependency.c: Ditto. * f95-lang.c: Ditto. * iresolve.c: Ditto. * resolve.c: Ditto. * simplify.c: Ditto. * symbol.c: Ditto. * trans-array.c: Ditto. * trans-common.c: Ditto. * trans-const.c: Ditto. * trans-decl.c: Ditto. * trans-expr.c: Ditto. * trans-intrinsic.c: Ditto. * trans-io.c: Ditto. * trans-stmt.c: Ditto. * trans-types.c: Ditto. * trans.c: Ditto. From-SVN: r87187
2004-08-29check.c (gfc_check_besn, [...]): New functions.Steven G. Kargl1-0/+28
2004-08-29 Steven G. Kargl <kargls@comcast.net> Paul Brook <paul@codesourcery.com> * check.c (gfc_check_besn, gfc_check_g77_math1): New functions. * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define. (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it. (build_builtin_fntypes): New function. (gfc_init_builtin_functions): Use it. * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N} and GFC_ISYM_ERF{,C}. (gfc_c_int_kind): Declare. * intrinsic.c (add_functions): Add [d]bes* and [d]erf*. * intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn, gfc_resolve_g77_math1): Add prototypes. * resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions. * mathbuiltins.def: Add comment. Change third argument. Use DEFINE_MATH_BUILTIN_C. Add bessel and error functions. * trans-intrinsic.c (BUILT_IN_FUNCTION): Define. (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it. * trans-types.c (gfc_c_int_kind): Declare. (gfc_init_kinds): Set it. testsuite/ * gfortran.dg/g77/README: Update. * gfortran.dg/g77/erfc.f: Copy from g77.f-torture. * gfortran.dg/g77/intrinsic-unix-bessel.f: Ditto. * gfortran.dg/g77/intrinsic-unix-erf.f: Ditto. libgfortran/ * intrinsics/bessel.c: New file. * intrinsics/erf.c: New file. * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c. * configure.ac: Test for C99 Bessel and Error functions. * Makefile.in: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r86727
2004-08-28gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID.Steven G. Kargl1-0/+26
2004-08-29 Steven G. Kargl <kargls@comcast.net> Paul Brook <paul@codesourcery.com> * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID. (gfc_check_f, gfc_simplify_f): Add f0. * intrinsic.c (do_check): Call f0. Flatten. (add_sym_0): Fix prototype. Set f0. (add_functions): Add getgid, getgid and getuid. (resolve_intrinsic): Remove obsolete comment. (do_simplify): Call f0. * intrinsic.h (gfc_resolve_getgid, gfc_resolve_getpid, gfc_resolve_getuid): Add prototypes. * iresolve.c (gfc_resolve_getgid, gfc_resolve_getpid, gfc_resolve_getuid): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_function): Handle GFC_ISYM_GET?ID. libgfortran/ * Makefile.am: Add intrinsics/getXid.c. * configure.ac: Add tests for get{g,p,u}id. * config.h.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r86703
2004-08-27gfortran.h (gfc_default_*_kind): Remove prototypes, add extern variable ↵Tobias Schlüter1-32/+32
declaration of same name. * gfortran.h (gfc_default_*_kind): Remove prototypes, add extern 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. From-SVN: r86662
2004-08-19re PR fortran/16946 (sum (array, mask) is not accepted)Erik Schnetter1-0/+1
fortran/ PR fortran/16946 * check.c (gfc_check_reduction): New function. (gfc_check_minval_maxval): Removed. (gfc_check_product): Removed. (gfc_check_sum): Removed. * intrinsic.h: Add/remove declarations for these. * gfortran.h: Add field f3red to union gfc_check_f. * intrinsic.c (add_sym_3red): New function. (add_functions): Register maxval, minval, product, and sum intrinsics through add_sym_3red. (check_specific): Handle f3red union field. * iresolve.c: Whitespace change. testsuite/ PR fortran/16946 * gfortran.dg/reduction.f90: New testcase. From-SVN: r86255
2004-08-08simplify.c (gfc_simplify_shape): Bugfix.Victor Leikehman1-4/+28
2004-08-08 Victor Leikehman <lei@il.ibm.com> * simplify.c (gfc_simplify_shape): Bugfix. * expr.c (gfc_copy_shape_excluding): New function. * gfortran.h (gfc_get_shape): Bugfix. (gfc_copy_shape_excluding): Added declaration. * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count, gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound, gfc_resolve_ubound, gfc_resolve_transpose): Added compile time resolution of shape. From-SVN: r85685
2004-08-06intrinsic.c (add_subroutines): Add getenv and get_environment_variable.Janne Blomqvist1-0/+13
2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi> * intrinsic.c (add_subroutines): Add getenv and get_environment_variable. (add_sym_5s): New function. * intrinsic.h (gfc_resolve_get_environment_variable): Add prototype. * iresolve.c (gfc_resolve_get_environment_variable): New function. libgfortran/ * intrinsics/env.c: New file. * Makefile.am: Add env.c to build. * Makefile.in: Regenerate. testsuite/ * gfortran.dg/getenv_1.f90: New test. From-SVN: r85656
2004-07-04re PR libfortran/15280 (Fortran9x commandline not accessable)Janne Blomqvist1-0/+42
PR fortran/15280 PR fortran/15665 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and GFC_ISYM_COMMAND_ARGUMENT_COUNT. * intrinsic.c (add_functions): Identify iargc. Add command_argument_count. (add_subroutines): Resolve getarg. Add get_command and get_command_argument. * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command, gfc_resolve_get_command_argument): Add prototypes. * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command, gfc_resolve_get_command_argument): New functions. * trans-decl.c (gfor_fndecl_iargc): New variable. (gfc_build_intrinsic_function_decls): Set it. * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function. (gfc_conv_intrinsic_function): Use it. * trans.h (gfor_fndecl_iargc): Declare. libgfortran/ * libgfortran.h (gfc_strlen_type): Define. * intrinsics/args.c (getarg): Rename ... (getarg_i4): ... to this. (getarg_i8, get_command_argument_i4, get_command_argument_i8, get_command_i4, get_command_i8): New functions. Co-Authored-By: Paul Brook <paul@codesourcery.com> From-SVN: r84087
2004-06-12check.c (gfc_check_second_sub, [...]): New functions.Steven G. Kargl1-1/+36
* check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions. * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME, GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND. * trans-intrinsic.c: Use symbols. * intrinsic.c (add_sym_2s): New function. * intrinsic.c: Add etime, dtime, irand, rand, second, srand. * intrinsic.h: Function prototypes. * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub gfc_resolve_srand): New functions. libgfortran * Makefile.am: Add rand.c and etime.c * Makefile.in: Regenerated. * aclocal.in: Regenerated. * cpu_time.c (second_sub, second): New functions. * rand.c (irand, rand, srand): New file. * etime.c (etime_sub, etime): New file. From-SVN: r83034
2004-05-30iresolve.c (gfc_resolve_random_number): Clean up conditional.Steven G. Kargl1-3/+6
* iresolve.c (gfc_resolve_random_number): Clean up conditional. libgfortran/ * libgfortran.h (random_seed): Update prototype. * intrinsics/random.c: Disable old implementation and add new one. testsuite/ * gfortran.fortran-torture/execute/random_1.f90: New test. From-SVN: r82443
2004-05-22check.c (gfc_check_system_clock): New function.Steven G. Kargl1-0/+21
* check.c (gfc_check_system_clock): New function. * intrinsic.c (add_sym_3s): New function. (add_subroutines): Use it. * intrinsic.h (gfc_check_system_clock, gfc_resolve_system_clock): Add prototypes. * iresolve.c (gfc_resolve_system_clock): New function. libgfortran/ * intrinsics/system_clock: New file. * Makefile.am: Add intrinsics/system_clock.c. * Makefile.in: Regenerate. From-SVN: r82131
2004-05-14re PR fortran/15205 (NEAREST intrinsic returns wrong value in DOUBLE PRECISION)Tobias Schlüter1-0/+10
PR fortran/15205 * iresolve.c (gfc_resolve_nearest): Add new function. * intrinsic.h: ... declare it here. * intrinsic.c (add_functions): ... add it as resolving function for NEAREST. From-SVN: r81843
2004-05-14Make-lang.in, [...]: Update copyright years and boilerplate.Tobias Schlüter1-13/+14
* 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/+1377
From-SVN: r81764