This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r163898 - in /trunk: gcc/fortran/ChangeLog gcc/...
- From: burnus at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 06 Sep 2010 05:55:11 -0000
- Subject: r163898 - in /trunk: gcc/fortran/ChangeLog gcc/...
Author: burnus
Date: Mon Sep 6 05:55:10 2010
New Revision: 163898
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163898
Log:
2010-09-06 Tobias Burnus <burnus@net-b.de>
PR fortran/38282
* intrinsic.c (add_functions): Support IALL, IANY, IPARITY.
(check_specific): Special case for those intrinsics.
* gfortran.h (gfc_isym_id): Add new intrinsics
* intrinsic.h (gfc_check_transf_bit_intrins,
gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
gfc_resolve_iall, gfc_resolve_iany, gfc_resolve_iparity):
New prototypes.
* iresolve.c (gfc_resolve_iall, gfc_resolve_iany,
gfc_resolve_iparity, resolve_transformational): New functions.
(gfc_resolve_product, gfc_resolve_sum,
gfc_resolve_parity): Use resolve_transformational.
* check.c (gfc_check_transf_bit_intrins): New function.
* simplify.c (gfc_simplify_iall, gfc_simplify_iany,
gfc_simplify_iparity, do_bit_any, do_bit_ior,
do_bit_xor, simplify_transformation): New functions.
(gfc_simplify_all, gfc_simplify_any, gfc_simplify_parity,
gfc_simplify_sum, gfc_simplify_product): Use simplify_transformation.
* trans-intrinsic.c (gfc_conv_intrinsic_arith,
gfc_conv_intrinsic_function, gfc_is_intrinsic_libcall):
Handle IALL, IANY and IPARITY intrinsics.
* intrinsic.texi (IMAGE_INDEX): Move up to fix alphabetic
order.
(IALL, IANY, IPARITY): Document new intrinsics.
2010-09-06 Tobias Burnus <burnus@net-b.de>
PR fortran/38282
* gfortran.dg/iall_iany_iparity_1.f90: New.
* gfortran.dg/iall_iany_iparity_2.f90: New.
2010-09-06 Tobias Burnus <burnus@net-b.de>
PR fortran/38282
* gfortran.map: Add new iany, iall and iparity intrinsics.
* Makefile.am: Ditto.
* m4/iany.m4: New.
* m4/iall.m4: New.
* m4/iparity.m4: New.
* Makefile.in: Regenerate.
* generated/iall_i1.c: Generate.
* generated/iall_i2.c: Generate.
* generated/iall_i4.c: Generate.
* generated/iall_i8.c: Generate.
* generated/iall_i16.c: Generate.
* generated/iany_i1.c: Generate.
* generated/iany_i2.c: Generate.
* generated/iany_i4.c: Generate.
* generated/iany_i8.c: Generate.
* generated/iany_i16.c: Generate.
* generated/iparity_i1.c: Generate.
* generated/iparity_i2.c: Generate.
* generated/iparity_i4.c: Generate.
* generated/iparity_i8.c: Generate.
* generated/iparity_i16.c: Generate.
Added:
trunk/gcc/testsuite/gfortran.dg/iall_iany_iparity_1.f90
trunk/gcc/testsuite/gfortran.dg/iall_iany_iparity_2.f90
trunk/libgfortran/generated/iall_i1.c
trunk/libgfortran/generated/iall_i16.c
trunk/libgfortran/generated/iall_i2.c
trunk/libgfortran/generated/iall_i4.c
trunk/libgfortran/generated/iall_i8.c
trunk/libgfortran/generated/iany_i1.c
trunk/libgfortran/generated/iany_i16.c
trunk/libgfortran/generated/iany_i2.c
trunk/libgfortran/generated/iany_i4.c
trunk/libgfortran/generated/iany_i8.c
trunk/libgfortran/generated/iparity_i1.c
trunk/libgfortran/generated/iparity_i16.c
trunk/libgfortran/generated/iparity_i2.c
trunk/libgfortran/generated/iparity_i4.c
trunk/libgfortran/generated/iparity_i8.c
trunk/libgfortran/m4/iall.m4
trunk/libgfortran/m4/iany.m4
trunk/libgfortran/m4/iparity.m4
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/intrinsic.h
trunk/gcc/fortran/intrinsic.texi
trunk/gcc/fortran/iresolve.c
trunk/gcc/fortran/simplify.c
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/Makefile.am
trunk/libgfortran/Makefile.in
trunk/libgfortran/gfortran.map