[llvm-commits] [PATCH] Newest LandingPad Patch

John McCall rjmccall at apple.com
Mon Aug 8 00:03:46 PDT 2011


On Aug 7, 2011, at 11:58 PM, Chris Lattner wrote:

> 
> On Aug 7, 2011, at 11:37 PM, John McCall wrote:
> 
>> On Aug 7, 2011, at 10:57 PM, Chris Lattner wrote:
>>> On Aug 7, 2011, at 7:38 PM, Bill Wendling wrote:
>>> 
>>>> Ping?
>>> 
>>> Sorry for the delay.  It looks like you haven't updated the patch to match LangRef to know that clauses can't have multiple values.
>> 
>> Wait, I could've sworn I reviewed that.  'filter' has to take 0 to N values; there's really no way around it, because nesting is disjunctive and we need conjunction.  The only way we can do it with exactly one value per clause is to require that value to be a ConstantArray — although, come to think of it, that's doable, if ugly.
> 
> You're saying that "filter a, b, c" is not the same as "filter a, filter b, filter c"?

Correct.  The first filters out exceptions they aren't a and aren't b and aren't c, and the second trips on exceptions if they aren't a, or they aren't b, or they aren't c.

Combining filters is also impossible because of the semantics of std::unexpected, which is allowed to change the exception type to satisfy the filter.

John.



More information about the llvm-commits mailing list