]> git.ipfire.org Git - thirdparty/gcc.git/commit - libgfortran/io/intrinsics.c
fget.c: New file.
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>
Sun, 13 Nov 2005 09:33:19 +0000 (10:33 +0100)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Sun, 13 Nov 2005 09:33:19 +0000 (09:33 +0000)
commit5d723e5434e83d9de5271f6d1c24a694826450a8
treee0ec7b23d7872520a826e03806116b99255edffd
parenta8bd670c5a5021e73a7727d585ac2bd806046295
fget.c: New file.

* intrinsics/fget.c: New file.
* 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.

From-SVN: r106859
25 files changed:
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/gfortran.h
gcc/fortran/intrinsic.c
gcc/fortran/intrinsic.h
gcc/fortran/iresolve.c
gcc/fortran/simplify.c
gcc/fortran/trans-intrinsic.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/complex_intrinsic_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/complex_intrinsic_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/fgetc_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/fgetc_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/fgetc_3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/ftell_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/ftell_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gnu_logical_1.F [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gnu_logical_2.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/intrinsics/fget.c [new file with mode: 0644]
libgfortran/intrinsics/ftell.c [new file with mode: 0644]
libgfortran/io/io.h
libgfortran/io/unix.c