Hi Steve,

I'll take your word for it on the F2008 contraints. Given that the
patch is very good - OK for trunk.

Thanks

Paul

On 27 September 2017 at 20:36, Steve Kargl
<s...@troutmask.apl.washington.edu> wrote:
> The attached patch fixes PR fortran/81509.
>
> In short, F2008 now allows boz-literal-constants in IAND, IOR, IEOR,
> DSHIFTL, DSHIFTR, and MERGE_BITS.  gfortran currently allows BOZ
> argument, but she was not enforcing restrictions in F2008.  The
> attach patch causes gfortran to conform to F2008.
>
> As aside effect, the patch removes a questionable GNU Fortran
> extension that allowed arguments to IAND, IOR, and IEOR to have
> different kind type parameters.  The behavior of this extension
> was not documented.
>
> 2017-09-27  Steven G. Kargl  <ka...@gcc.gnu.org>
>
>         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.
>
> 2017-09-27  Steven G. Kargl  <ka...@gcc.gnu.org>
>
>         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.
>
> --
> Steve
> 20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
> 20161221 https://www.youtube.com/watch?v=IbCHE-hONow



-- 
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein

Reply via email to