asavonic added a comment.

In D98895#3119064 <https://reviews.llvm.org/D98895#3119064>, @erichkeane wrote:

> In D98895#3119027 <https://reviews.llvm.org/D98895#3119027>, @asavonic wrote:
>
>> In D98895#3118821 <https://reviews.llvm.org/D98895#3118821>, @eandrews wrote:
>>
>>> This patch causes a regression.
>>>
>>> To reproduce - `clang -cc1 -fsycl-is-device -triple spir64 test.cpp`
>>>
>>>   test.cpp:x:3: error: 'bar<__float128>' requires 128 bit size '__float128' 
>>> type support, but target 'spir64' does not support it
>>>   T bar() { return T(); };
>>>     ^
>>>
>>> I looked at it briefly, and I believe the issue is call to 
>>> `checkTypeSupport()` in `ActOnFinishFunctionBody()`. I tried deleting the 
>>> call but it breaks tests (E.g. L26 in x86_64-no-x87.cpp). @asavonic Please 
>>> take a look. I will be reverting the patch if this cannot be fixed soon.
>>
>> The diagnostic seems to be correct - this instance of `bar` returns an 
>> unsupported type. Why do you think it should not be diagnosed?
>
> I believe the problem is that there are now _3_ different diagnostics for the 
> same thing, the one on 'bar', plus 2 more here:
>
> `auto malAutoTemp5 = bar<__float128>();`
>
> I think i would expect 1 error on 'bar', 1 error on the deduced 'auto', but 
> the 3rd is superfluous.

I will check if there is a way to filter it out. However, I don't think that it 
is a good reason to revert the patch.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98895/new/

https://reviews.llvm.org/D98895

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to