[Patch, fortran] PR90903 - Implement runtime checks for bit manipulation intrinsics
Steve Kargl
sgk@troutmask.apl.washington.edu
Mon Jul 15 02:43:00 GMT 2019
Harald, thanks for the patch. I'm that the best person
for reading the trans-* file, but your patch and changes
look good to me. If no one else speaks up, in the next
day or so, please commit.
--
steve
On Sun, Jul 14, 2019 at 09:37:27PM +0200, Harald Anlauf wrote:
> Ping!
>
> On 06/23/19 23:36, Harald Anlauf wrote:
> > Dear all,
> >
> > the attached patch provides run-time checks for the bit manipulation
> > intrinsic functions (IBSET/IBCLR/BTEST/SHIFT[RLA]/ISHFT/ISHFTC).
> > I am using only one testcase whose purpose is mainly to verify that
> > there are no false positives, which I consider essential, and one
> > "failing" test at the end.
> >
> > What is still missing are run-time checks for the subroutine MVBITS.
> > I am not sure yet how to handle that case (frontend or library?),
> > and I am open to suggestions. For this purpose I intend to leave
> > the PR open until a good solution is found.
> >
> > Regtested on x86_64-pc-linux-gnu. OK for trunk?
> >
> > Harald
> >
> > 2019-06-23 Harald Anlauf <anlauf@gmx.de>
> >
> > PR fortran/90903
> > * libgfortran.h: Add mask for -fcheck=bits option.
> > * options.c (gfc_handle_runtime_check_option): Add option "bits"
> > to run-time checks selectable via -fcheck.
> > * trans-intrinsic.c (gfc_conv_intrinsic_btest)
> > (gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits)
> > (gfc_conv_intrinsic_shift, gfc_conv_intrinsic_ishft)
> > (gfc_conv_intrinsic_ishftc): Implement run-time checks for the
> > POS, LEN, SHIFT, and SIZE arguments.
> > * gfortran.texi: Document run-time checks for bit manipulation
> > intrinsics.
> > * invoke.texi: Document new -fcheck=bits option.
> >
> > 2019-06-23 Harald Anlauf <anlauf@gmx.de>
> >
> > PR fortran/90903
> > * gfortran.dg/check_bits_1.f90: New testcase.
> >
>
--
Steve
20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4
20161221 https://www.youtube.com/watch?v=IbCHE-hONow
More information about the Gcc-patches
mailing list