Implement C _FloatN, _FloatNx types [version 6]

David Malcolm dmalcolm@redhat.com
Fri Aug 19 15:52:00 GMT 2016


On Fri, 2016-08-19 at 14:40 +0000, Joseph Myers wrote:
> On Fri, 19 Aug 2016, Richard Biener wrote:
> 
> > > > Can you quickly verify if LTO works with the new types?  I
> > > > don't see anything
> > > > that would prevent it but having new global trees and backends
> > > > initializing them
> > > > might come up with surprises (see tree
> > > > -streamer.c:preload_common_nodes)
> > > 
> > > Well, the execution tests are in gcc.dg/torture, which is run
> > > with various
> > > options including -flto (and I've checked the testsuite logs to
> > > confirm
> > > these tests are indeed run with such options).  Is there
> > > something else
> > > you think should be tested?
> > 
> > No, I think that's enough.
> 
> Then I'll commit the patch later today in the absence of comments
> from 
> other libcpp maintainers (and then go on to update and retest the
> built-in 
> functions patch).

[For reference, the latest version of the patch seems to be here:
  https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01290.html ]

Although I'm listed as a libcpp maintainer, I believe today is the
first time I've looked at libcpp/expr.c:interpret_float_suffix.  Also,
my attempts to search for the standard you're referring to are failing,
which isn't helping, so my apologies in advance.

I attempted to review your changes to interpret_float_suffix, and I'm
having a hard time understanding what the supported suffixes now are.

Please could you take this opportunity to add some examples to the
header comment for that function, both for the common cases e.g. "f",
and for the new suffixes; nothing in the patch body appears to document
them.  (ideally, referencing the standard).

Also, it would be good to add some more comments to the function body. 
 For example, in this hunk:

-  if (f + d + l + w + q > 1 || i > 1)
+  if (f + d + l + w + q + fn + fnx > 1 || i > 1)

should it read something like :
   /* Reject duplicate suffixes, contradictory suffixes [...] */

where "[...]" is something relating to fn + fnx, which I can't figure
out in the absence of the standard you're referring to.

Sorry about my ignorance, hope this is constructive feedback
Dave



More information about the Gcc-patches mailing list