re PR fortran/45513 (BOZ kinds differently handled, F2008: BOZ in bit intrinsics)
authorSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 24 Dec 2018 18:26:25 +0000 (18:26 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 24 Dec 2018 18:26:25 +0000 (18:26 +0000)
commit89c1cf2695c796aaf9610615e9f1ecd1f2198da1
treefdf121265af2daee9fd6e271846f9eef4256a57e
parenta8ed2b4f646a2c8e3b1032cabbc328a0ff2cb9ea
re PR fortran/45513 (BOZ kinds differently handled, F2008: BOZ in bit intrinsics)

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.

From-SVN: r267415
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/intrinsic.c
gcc/fortran/intrinsic.h
gcc/fortran/intrinsic.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/graphite/id-26.f03
gcc/testsuite/gfortran.dg/pr81509_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr81509_2.f90 [new file with mode: 0644]