ABataev added a comment.

In D129008#4079872 <https://reviews.llvm.org/D129008#4079872>, @tianshilei1992 
wrote:

> In D129008#4079660 <https://reviews.llvm.org/D129008#4079660>, @aaron.ballman 
> wrote:
>
>> In D129008#3640194 <https://reviews.llvm.org/D129008#3640194>, 
>> @tianshilei1992 wrote:
>>
>>> `callCStructCopyConstructor` is actually for Objective-C…Cannot use it here.
>>
>> Is it for ObjC? Looking at the comments, it looks like it's for C:
>>
>>   // These functions emit calls to the special functions of non-trivial C
>>   // structs.
>
> That's not ObjC. It can be C or C++.
>
> My apology I should have added more context here. In OpenMP, we need to 
> "globalize" certain captured local variables by allocating another buffers 
> and then copy the memory. If the local variables are structs or even C++ 
> classes, the copy has to be done by invoking the corresponding copy 
> constructors. However, I don't know how to invoke the copy constructor here. 
> `callCStructCopyConstructor` only does plain copy. It's not gonna work for 
> C++ classes.

You need to do it manually. Usually we built the required copy constructor call 
in Sema (it requires correct lookup) and then emitted it in codegen.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129008

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

Reply via email to