[PATCH] D72841: [RFC] Add support for pragma float_control, to control precision and exception behavior at the source level

Blower, Melanie I via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 11 11:25:14 PDT 2020


Sorry I don't understand. I have to add "final" onto BinaryOperator in order to use Trailing storage. But when I do that I can't derive CompoundAssignmentOperator from BinaryOperator.  So I think I must fold these 2 classes together. Is there another way?

> -----Original Message-----
> From: John McCall via Phabricator <reviews at reviews.llvm.org>
> Sent: Wednesday, March 11, 2020 2:19 PM
> To: Blower, Melanie I <melanie.blower at intel.com>; Kaylor, Andrew
> <andrew.kaylor at intel.com>; kevin.neal at sas.com; rjmccall at gmail.com;
> sepavloff at gmail.com; anemet at apple.com; Matthew.Arsenault at amd.com;
> syaghmour at apple.com
> Cc: rekanikolett at gmail.com; wei.ding2 at amd.com; wuzish at cn.ibm.com;
> lebedev.ri at gmail.com; nemanja.i.ibm at gmail.com;
> jv356 at scarletmail.rutgers.edu; kit.barton at gmail.com; Wang, Pengfei
> <pengfei.wang at intel.com>; cfe-commits at lists.llvm.org; llvm-
> commits at lists.llvm.org; mlekena at skidmore.edu; blitzrakete at gmail.com;
> shenhan at google.com; t.p.northover at gmail.com; paul.robinson at sony.com;
> david.green at arm.com; tra at google.com; 1.int32 at gmail.com
> Subject: [PATCH] D72841: [RFC] Add support for pragma float_control, to
> control precision and exception behavior at the source level
> 
> rjmccall added a comment.
> 
> In D72841#1917340 <https://reviews.llvm.org/D72841#1917340>, @mibintc
> wrote:
> 
> > @rjmccall Since CompoundAssignmentOperator derives from
> BinaryOperator, it's not simple to add Trailing storage here.  I think I will have to
> fold CompoundAssignmentOperator into BinaryOperator and then add the 2
> extra fields needed by CompoundAssignmentOperator into Trailing storage.  Can
> you think of a better way?  I worked on Trailing storage for UnaryOperator first
> and that wasn't too bad, but Binary is a different story.
> 
> 
> It's something we deal with occasionally, but it's definitely annoying.  You
> basically have to test for which concrete class you have and then ask that class
> for its trailing storage.
> 
> Collapsing the types might be okay but could get involved.
> 
> 
> Repository:
>   rG LLVM Github Monorepo
> 
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D72841/new/
> 
> https://reviews.llvm.org/D72841
> 
> 



More information about the cfe-commits mailing list