[dragonegg] r178344 - The issue that required sometimes not using DIBuilder here was fixed in the

David Blaikie dblaikie at gmail.com
Wed Apr 17 05:33:37 PDT 2013


On Mar 30, 2013 2:36 AM, "Duncan Sands" <baldrick at free.fr> wrote:
>
> Author: baldrick
> Date: Fri Mar 29 10:33:13 2013
> New Revision: 178344
>
> URL: http://llvm.org/viewvc/llvm-project?rev=178344&view=rev
> Log:
> The issue that required sometimes not using DIBuilder here was fixed in
the
> previous commit.

Awesome, thanks for that, Duncan!

>
> Modified:
>     dragonegg/trunk/src/Debug.cpp
>
> Modified: dragonegg/trunk/src/Debug.cpp
> URL:
http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Debug.cpp?rev=178344&r1=178343&r2=178344&view=diff
>
==============================================================================
> --- dragonegg/trunk/src/Debug.cpp (original)
> +++ dragonegg/trunk/src/Debug.cpp Fri Mar 29 10:33:13 2013
> @@ -1136,25 +1136,6 @@ DIDerivedType DIFactory::CreateDerivedTy
>      uint64_t OffsetInBits, unsigned Flags, DIType DerivedFrom) {
>    switch (Tag) {
>    case dwarf::DW_TAG_typedef:
> -    // FIXME: This code should use DIBuilder but it's creating something
> -    // invalid that DIBuilder doesn't allow. DerivedFrom is invalid due
to
> -    // getOrCreateType failing to provide the underlying member type for
a
> -    // pointer to member. The invalid DerivedType causes this code to
create
> -    // an invalid typedef that is a typedef of no other type. (hence the
null
> -    // value as the last parameter in Elts, below)
> -    if (!DerivedFrom.isValid()) {
> -      Value *Elts[] = {
> -        GetTagConstant(dwarf::DW_TAG_typedef), Context,
> -        MDString::get(VMContext, Name), F,
> -        ConstantInt::get(Type::getInt32Ty(VMContext), LineNumber),
> -        ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Size
> -        ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Align
> -        ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Offset
> -        ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
> -        NULL
> -      };
> -      return DIDerivedType(MDNode::get(VMContext, Elts));
> -    }
>      return Builder.createTypedef(DerivedFrom, Name, F, LineNumber,
Context);
>    case dwarf::DW_TAG_pointer_type:
>      return Builder.createPointerType(DerivedFrom, SizeInBits,
AlignInBits,
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130417/584bdd88/attachment.html>


More information about the llvm-commits mailing list