* Re: [patch, fortran] PR 47359 - warnings for constant conversion
[not found] ` <20150531221425.GA34602@troutmask.apl.washington.edu>
@ 2015-06-01 6:34 ` Thomas Koenig
2015-06-01 13:40 ` Steve Kargl
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Koenig @ 2015-06-01 6:34 UTC (permalink / raw)
To: Steve Kargl; +Cc: fortran, gcc-patches
Hi Steve,
>> The second part catches the case when the user supplies more
>> digits than appropriate for the number. More often than not,
>> this is a KIND error.
>>
>
> Does the above issue warnings for
>
> real(knd), parameter :: pi = 3.1415926535897932384626433832795029_knd
>
> module foomod
>
> interface foo
> module procedure foo4, foo8, foo10, foo16
> end interface foo
>
> contains
>
> subroutine foo4()
> integer, parameter :: knd = 4
> include 'consts.def'
> ! do something with pi
> end subroutine
> end module foomod
Yes, it does, if -Wconversion-extra is specified.
> If warnings occur, then IMHO the patch cannot be committed
> in its current form.
What would be the peferred alternative?
I can make this warning conditional on a new option, let's call it
-Wconversion-constant, and have this set by default by -Wsurprising
or by -Wconversion. The new options machinery is nice enough to
specify the option name with the warning, so it is easy for a user
to turn this particular warning off.
It would also be possible to grade this warning for really fine-grained
control:
- Introduce -Wconversion-constant, enabled by -Wconversion, to warn
about the most common error of a constant with excess precision
without KIND, so print *,3.1415829535 would get a warning and
print *,3.1415926535_4 would not.
- Introduce -Wconversion-constant-extra, enabled by -Wconversion-extra,
to warn about any excess precision regardless whether a KIND number
is present in the constant or not.
Comments?
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch, fortran] PR 47359 - warnings for constant conversion
2015-06-01 6:34 ` [patch, fortran] PR 47359 - warnings for constant conversion Thomas Koenig
@ 2015-06-01 13:40 ` Steve Kargl
2015-06-01 18:02 ` Thomas Koenig
0 siblings, 1 reply; 6+ messages in thread
From: Steve Kargl @ 2015-06-01 13:40 UTC (permalink / raw)
To: Thomas Koenig; +Cc: fortran, gcc-patches
On Mon, Jun 01, 2015 at 08:34:24AM +0200, Thomas Koenig wrote:
>
> >> The second part catches the case when the user supplies more
> >> digits than appropriate for the number. More often than not,
> >> this is a KIND error.
> >>
> >
> > Does the above issue warnings for
> >
> > real(knd), parameter :: pi = 3.1415926535897932384626433832795029_knd
> >
> > module foomod
> >
> > interface foo
> > module procedure foo4, foo8, foo10, foo16
> > end interface foo
> >
> > contains
> >
> > subroutine foo4()
> > integer, parameter :: knd = 4
> > include 'consts.def'
> > ! do something with pi
> > end subroutine
> > end module foomod
>
> Yes, it does, if -Wconversion-extra is specified.
>
> > If warnings occur, then IMHO the patch cannot be committed
> > in its current form.
>
> What would be the peferred alternative?
>
Is it possible to detect the _knd suffix? If so, no
warning is my preference as it is never incorrect to
specify more digits than required for conversion from
ASCII to an internal representation. This, of course,
assumes that the compiler doesn't have a bug.
>
> Comments?
>
I'm not a big fan of a proliferation of options. As long
as the warning isn't triggered under -Wall, I suppose
I can live with -Wconversion-extra.
--
Steve
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch, fortran] PR 47359 - warnings for constant conversion
2015-06-01 13:40 ` Steve Kargl
@ 2015-06-01 18:02 ` Thomas Koenig
2015-06-01 20:10 ` Steve Kargl
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Koenig @ 2015-06-01 18:02 UTC (permalink / raw)
To: Steve Kargl; +Cc: fortran, gcc-patches
Am 01.06.2015 um 15:40 schrieb Steve Kargl:
> On Mon, Jun 01, 2015 at 08:34:24AM +0200, Thomas Koenig wrote:
>> What would be the peferred alternative?
> Is it possible to detect the _knd suffix?
Yes, this is possible.
> If so, no
> warning is my preference as it is never incorrect to
> specify more digits than required for conversion from
> ASCII to an internal representation. This, of course,
> assumes that the compiler doesn't have a bug.
:-)
>> >
>> > Comments?
>> >
> I'm not a big fan of a proliferation of options. As long
> as the warning isn't triggered under -Wall, I suppose
> I can live with -Wconversion-extra.
OK, so we have a few options.
a) Warn for
print *,3.1415926535897932 with -Wconversion
and warn for
print *,3.1415926535_4 only with -Wconversion-extra
b) Like a) but supply two options to switch off the respective
warnings.
c) Warn for
print *,3.1415926535 with -Wconversoin-extra
and don't warn for
print *,3.141592653589_4
d) Like now: Warn with -Wconversion-extra for both
print *,3.1415926535
and
print *,3.14159265358979_4
What are people's prefrences on this? Should we maybe ask on c.l.f
(where we will get more opinions, certainly also differing)?
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch, fortran] PR 47359 - warnings for constant conversion
2015-06-01 18:02 ` Thomas Koenig
@ 2015-06-01 20:10 ` Steve Kargl
2015-06-06 11:35 ` Thomas Koenig
0 siblings, 1 reply; 6+ messages in thread
From: Steve Kargl @ 2015-06-01 20:10 UTC (permalink / raw)
To: Thomas Koenig; +Cc: fortran, gcc-patches
On Mon, Jun 01, 2015 at 08:01:53PM +0200, Thomas Koenig wrote:
> Am 01.06.2015 um 15:40 schrieb Steve Kargl:
> > On Mon, Jun 01, 2015 at 08:34:24AM +0200, Thomas Koenig wrote:
> >> What would be the peferred alternative?
>
> > Is it possible to detect the _knd suffix?
>
> Yes, this is possible.
>
> > If so, no
> > warning is my preference as it is never incorrect to
> > specify more digits than required for conversion from
> > ASCII to an internal representation. This, of course,
> > assumes that the compiler doesn't have a bug.
>
> :-)
>
> >> >
> >> > Comments?
> >> >
> > I'm not a big fan of a proliferation of options. As long
> > as the warning isn't triggered under -Wall, I suppose
> > I can live with -Wconversion-extra.
>
> OK, so we have a few options.
>
> a) Warn for
>
> print *,3.1415926535897932 with -Wconversion
>
> and warn for
>
> print *,3.1415926535_4 only with -Wconversion-extra
>
> b) Like a) but supply two options to switch off the respective
> warnings.
>
> c) Warn for
>
> print *,3.1415926535 with -Wconversion-extra
>
> and don't warn for
>
> print *,3.141592653589_4
>
This would be my first choice. If a user actually specifies
a suffix, I assume that the user has given some thought
to the preceding digits.
> d) Like now: Warn with -Wconversion-extra for both
>
> print *,3.1415926535
>
> and
>
> print *,3.14159265358979_4
This would be my second choice.
> What are people's prefrences on this? Should we maybe ask on c.l.f
> (where we will get more opinions, certainly also differing)?
If you ask on c.l.f, you'll get differing opinions and most likely
a history lesson on what compilers did 40 years ago and how
PL/1 hands the issue. :-)
Don't let my person opinion be the sole driver/impediment.
I do have a few comments on the patch itself. I'll send those
later.
--
Steve
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch, fortran] PR 47359 - warnings for constant conversion
2015-06-01 20:10 ` Steve Kargl
@ 2015-06-06 11:35 ` Thomas Koenig
2015-06-06 18:52 ` Steve Kargl
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Koenig @ 2015-06-06 11:35 UTC (permalink / raw)
To: Steve Kargl; +Cc: fortran, gcc-patches
Am 01.06.2015 um 22:10 schrieb Steve Kargl:
>> c) Warn for
>>
>> print *,3.1415926535 with -Wconversion-extra
>>
>> and don't warn for
>>
>> print *,3.141592653589_4
>>
>
> This would be my first choice. If a user actually specifies
> a suffix, I assume that the user has given some thought
> to the preceding digits.
>> d) Like now: Warn with -Wconversion-extra for both
>>
>> print *,3.1415926535
>>
>> and
>>
>> print *,3.14159265358979_4
>
> This would be my second choice.
I would actually prefer d). -Wconversion-extra is about warning
for things that are often correct. I would like to have a chance
to warn about this kind of construct.
Any other comments? OK to commit?
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch, fortran] PR 47359 - warnings for constant conversion
2015-06-06 11:35 ` Thomas Koenig
@ 2015-06-06 18:52 ` Steve Kargl
0 siblings, 0 replies; 6+ messages in thread
From: Steve Kargl @ 2015-06-06 18:52 UTC (permalink / raw)
To: Thomas Koenig; +Cc: fortran, gcc-patches
On Sat, Jun 06, 2015 at 12:22:56PM +0200, Thomas Koenig wrote:
>
> Any other comments? OK to commit?
>
No. Yes.
--
Steve
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-06-06 14:15 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <556B7ED1.4020304@netcologne.de>
[not found] ` <20150531221425.GA34602@troutmask.apl.washington.edu>
2015-06-01 6:34 ` [patch, fortran] PR 47359 - warnings for constant conversion Thomas Koenig
2015-06-01 13:40 ` Steve Kargl
2015-06-01 18:02 ` Thomas Koenig
2015-06-01 20:10 ` Steve Kargl
2015-06-06 11:35 ` Thomas Koenig
2015-06-06 18:52 ` Steve Kargl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).