[PATCH] D71179: [OpenMP][WIP] Initial support for `begin/end declare variant`

Hal Finkel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 9 11:29:56 PST 2019


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





More information about the cfe-commits mailing list