Hi Andrew,
  Thanks so much for your explanation. I got it. I will address the issue.

Thanks
Gui Haochen

在 2024/5/15 2:45, Andrew MacLeod 写道:
> 
> On 5/9/24 04:47, HAO CHEN GUI wrote:
>> Hi Mikael,
>>
>>    Thanks for your comments.
>>
>> 在 2024/5/9 16:03, Mikael Morin 写道:
>>> I think the canonical API behaviour sets R to varying and returns true 
>>> instead of just returning false if nothing is known about the range.
>>>
>>> I'm not sure whether it makes any difference; Aldy can probably tell. But 
>>> if the type is bool, varying is [0,1] which is better than unknown range.
>> Should the varying be set by caller when fold_range returns false?
>> Just like following codes in value-query.cc.
>>
>>            if (!op.fold_range (r, type, r0, r1))
>>              r.set_varying (type);
>>
> This would be dangerous in the general case.  fold_range may have returned 
> false because 'type' is an unsupported range type. Generally this is why we 
> prefer range-ops to return TRUE and VARYING rather than FALSE for unknown 
> values.   When FALSE is returned, we should stop working with ranges because 
> something is amok.
> 
> Andrew
> 

Reply via email to