hfinkel added a comment.

In D71179#1775687 <https://reviews.llvm.org/D71179#1775687>, @jdoerfert wrote:

>


...

> 
> 
>>> We restricted it for now to function definitions so we don't need to define 
>>> the mangling as you cannot expect linking. (I did this to get it in TR8 
>>> while I figured it will solve all our math.h problems already).
>>>  However, we need to avoid collisions with user code, e.g., through the use 
>>> of symbols in the name that are not allowed to be used by the user (I 
>>> thought "." is one of them).
>> 
>> Okay, but how to we distinguish functions for which there is a declaration 
>> and we need the mangling because the user has provided a definition 
>> elsewhere, from those for which there is a declaration, and we don't want 
>> mangling because we need to link to some system library?
> 
> The idea is, declarations inside begin/end declare variant are supposed to be 
> not affected by the begin/end declare variant. That is, if you have 
> declarations you cannot expect variant multi-versioning to happen. Having 
> declarations inside or outside the begin/end declare variant is still fine if 
> they all denote the same function.

Thanks, now I understand. This seems like it will work.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71179



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

Reply via email to