[Bug fortran/45513] BOZ kinds differently handled, F2008: BOZ in bit intrinsics

kargl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 24 18:27:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45513

--- Comment #2 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Mon Dec 24 18:26:25 2018
New Revision: 267415

URL: https://gcc.gnu.org/viewcvs?rev=267415&root=gcc&view=rev
Log:
2018-12-24  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/45513
        PR fortran/81509
        * check.c: Rename function gfc_check_iand to gfc_check_iand_ieor_ior.
        * check.c (boz_args_check): New function.  Check I and J not both BOZ.
        (gfc_check_dshift,gfc_check_iand_ieor_ior, gfc_check_ishft,
         gfc_check_and, gfc_check_merge_bits): Use it.
        * check.c (gfc_check_iand_ieor_ior): Force conversion of BOZ to kind
        type of other agrument.  Remove silly GNU extension.
        (gfc_check_ieor, gfc_check_ior): Delete now unused functions.
        * intrinsic.c (add_functions): Use gfc_check_iand_ieor_ior. Wrap long
        line.
        * intrinsic.h: Rename gfc_check_iand to gfc_check_iand_ieor_ior.
        Delete prototype for bool gfc_check_ieor and gfc_check_ior
        * intrinsic.texi: Update documentation for boz-literal-constant.

2018-12-24  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/45513
        PR fortran/81509
        * gfortran.dg/graphite/id-26.f03: Fix non-conforming use of IAND.
        * gfortran.dg/pr81509_1.f90: New test.
        * gfortran.dg/pr81509_2.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/pr81509_1.f90
    trunk/gcc/testsuite/gfortran.dg/pr81509_2.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/check.c
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/intrinsic.h
    trunk/gcc/fortran/intrinsic.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/graphite/id-26.f03


More information about the Gcc-bugs mailing list