On Tue, Jul 31, 2018 at 3:59 PM wrote:
> What might be missing is the impl of CreateMemberType:
>
> llvm::DIType *CGDebugInfo::CreateMemberType(llvm::DIFile *Unit, QualType
> FType,
> StringRef Name, uint64_t
> *Offset) {
>llvm::DIType *FieldTy = C
What might be missing is the impl of CreateMemberType:
llvm::DIType *CGDebugInfo::CreateMemberType(llvm::DIFile *Unit, QualType
FType,
StringRef Name, uint64_t
*Offset) {
llvm::DIType *FieldTy = CGDebugInfo::getOrCreateType(FType, Unit);
uint64_t
I'm probably missing something, from looking here:
FieldOffset = 0;
if (CGM.getLangOpts().OpenCL) {
FType = CGM.getContext().IntTy;
EltTys.push_back(CreateMemberType(Unit, FType, "__size", &FieldOffset));
EltTys.push_back(CreateMemberType(Unit, FType, "__align",
&FieldOffset));
}
I think this version is right; the FieldOffset for OpenCL here will be 2
* getTypeSize(IntTy). The final `FieldOffset += FieldSize` that was
moved only applies to the non-OpenCL "__descriptor" field.
Scott
On 2018-07-30 19:22, Eric Christopher wrote:
Is 0 right for FieldOffset for OpenCL here
Is 0 right for FieldOffset for OpenCL here? Seems a little odd.
-eric
On Mon, Jul 30, 2018 at 3:56 PM Scott Linder via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> Author: scott.linder
> Date: Mon Jul 30 15:52:07 2018
> New Revision: 338321
>
> URL: http://llvm.org/viewvc/llvm-project?rev=