On Sat, Aug 10, 2019 at 10:54:30AM -0700, Steve Kargl wrote: > On Sat, Aug 10, 2019 at 07:29:10PM +0200, Thomas Koenig wrote: > > Hi Steve, > > > > > OK to commit? > > > > OK with > > > > %s/rational/relational/g > > > > and with Mark's nit. > > > > Thanks a lot for going down that road. I like the approach of > > -fallow-invalid-boz to downgrade the error to a warning, which > > then cannot be turned off. > > > > Thanks, I'll double check spelling. Not one of my stronger abilitie. > > You can turn off the warning with -w, but that turns off > all warnings. :-) I suspect we'll get a PR or two to > provide an option to turn off the warning. > > I think part of the rework that others will appreciate is > one no longer needs to use -fno-range-check. >
Committed. One item I forgot to discuss in the original email was the change in intrinsic.c to split generic "real" into individual generics. Originally, intrinsic.c grouped real, float, dfloat, sngl, realpart and if -fdec is present float[ijk] under the generic "real". real is specified to have 2 arguments where the second one is optional. All other intrinsic names take a single argument. If on wrote "real(1.2324, 4)", then gfc_check_real() is called to do check the arguments. This is good. However, if one wrote "real(1.234)", then gfc_check_float() is call. The Fortran standard specifies the float takes a default integer as an argument, and I while real can a numeric type. By splitting each intrinsic into its own generic, gfc_check_real is now called for "real(1.234)" as good thing! -- Steve