Quuxplusone added a comment.

In D114425#3216490 <https://reviews.llvm.org/D114425#3216490>, @craig.topper 
wrote:

> In D114425#3216231 <https://reviews.llvm.org/D114425#3216231>, @philnik wrote:
>
>> In D114425#3209794 <https://reviews.llvm.org/D114425#3209794>, @craig.topper 
>> wrote:
>>
>>> What does the builtin due if __int128 isn't supported? Even though the type 
>>> isn't legal the builtin can still be called with a narrower type that would 
>>> be implicitly converted. Does that work correctly?
>>
>> Would the correct behavior be to throw an error in that case? Or what 
>> exactly do you expect?
>
> gcc only defines the builtin if __int128 is a supported type. It doesn't look 
> like it generates an error, it just leaves it as call to an unknown function. 
> I don't know how easy it is to do the same in clang.

The existing code has some lines like `CGM.ErrorUnsupported(E, 
"__builtin_dwarf_sp_column");` — I would try doing the same kind of thing in 
the case where `__int128` isn't supported. (But I don't know how to make 
`__int128` unsupported! Every place I can see `int128` mentioned in the code, 
it's not conspicuously guarded by any condition.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D114425

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

Reply via email to