r181368 - Don't crash in IRGen if a conditional with 'throw' in one of its branches is

Richard Smith richard at metafoo.co.uk
Tue May 7 16:21:57 PDT 2013


On Tue, May 7, 2013 at 4:07 PM, John McCall <rjmccall at apple.com> wrote:

> On May 7, 2013, at 2:53 PM, Richard Smith <richard-llvm at metafoo.co.uk>
> wrote:
> > Author: rsmith
> > Date: Tue May  7 16:53:22 2013
> > New Revision: 181368
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=181368&view=rev
> > Log:
> > Don't crash in IRGen if a conditional with 'throw' in one of its
> branches is
> > used as a branch condition.
>
> Hmm.  Maybe we should have some sort of CK_BottomToAnything implicit
> conversion node here instead of forcing all the clients to explicitly deal
> with
> the vanishingly-uncommon operand-is-a-throw case all over the place.
>
> Did you audit everything else that generates code for conditional operators
> to ensure that they deal with it?


 I have now. There are (at least) two more bugs:

1) A conditional between _Complex int and a throw-expression asserts in
IRGen.
2) Per core issue 1550, a conditional between a throw-expression and a
glvalue produces a glvalue. We don't support that in Sema nor in IRGen.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130507/7bb9e1a9/attachment.html>


More information about the cfe-commits mailing list