------- Comment #11 from burnus at gcc dot gnu dot org 2010-09-06 05:55 ------- Subject: Bug 38282
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 <[email protected]> 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 <[email protected]> PR fortran/38282 * gfortran.dg/iall_iany_iparity_1.f90: New. * gfortran.dg/iall_iany_iparity_2.f90: New. 2010-09-06 Tobias Burnus <[email protected]> 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 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38282
