<p dir="ltr"><br>
On Mar 30, 2013 2:36 AM, "Duncan Sands" <<a href="mailto:baldrick@free.fr">baldrick@free.fr</a>> wrote:<br>
><br>
> Author: baldrick<br>
> Date: Fri Mar 29 10:33:13 2013<br>
> New Revision: 178344<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=178344&view=rev">http://llvm.org/viewvc/llvm-project?rev=178344&view=rev</a><br>
> Log:<br>
> The issue that required sometimes not using DIBuilder here was fixed in the<br>
> previous commit.</p>
<p dir="ltr">Awesome, thanks for that, Duncan!</p>
<p dir="ltr">><br>
> Modified:<br>
> dragonegg/trunk/src/Debug.cpp<br>
><br>
> Modified: dragonegg/trunk/src/Debug.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Debug.cpp?rev=178344&r1=178343&r2=178344&view=diff">http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Debug.cpp?rev=178344&r1=178343&r2=178344&view=diff</a><br>
> ==============================================================================<br>
> --- dragonegg/trunk/src/Debug.cpp (original)<br>
> +++ dragonegg/trunk/src/Debug.cpp Fri Mar 29 10:33:13 2013<br>
> @@ -1136,25 +1136,6 @@ DIDerivedType DIFactory::CreateDerivedTy<br>
> uint64_t OffsetInBits, unsigned Flags, DIType DerivedFrom) {<br>
> switch (Tag) {<br>
> case dwarf::DW_TAG_typedef:<br>
> - // FIXME: This code should use DIBuilder but it's creating something<br>
> - // invalid that DIBuilder doesn't allow. DerivedFrom is invalid due to<br>
> - // getOrCreateType failing to provide the underlying member type for a<br>
> - // pointer to member. The invalid DerivedType causes this code to create<br>
> - // an invalid typedef that is a typedef of no other type. (hence the null<br>
> - // value as the last parameter in Elts, below)<br>
> - if (!DerivedFrom.isValid()) {<br>
> - Value *Elts[] = {<br>
> - GetTagConstant(dwarf::DW_TAG_typedef), Context,<br>
> - MDString::get(VMContext, Name), F,<br>
> - ConstantInt::get(Type::getInt32Ty(VMContext), LineNumber),<br>
> - ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Size<br>
> - ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Align<br>
> - ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Offset<br>
> - ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags<br>
> - NULL<br>
> - };<br>
> - return DIDerivedType(MDNode::get(VMContext, Elts));<br>
> - }<br>
> return Builder.createTypedef(DerivedFrom, Name, F, LineNumber, Context);<br>
> case dwarf::DW_TAG_pointer_type:<br>
> return Builder.createPointerType(DerivedFrom, SizeInBits, AlignInBits,<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</p>