[LLVMbugs] [Bug 11990] New: llvm-as 3.0 crashes when compiling bad recursive types

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Feb 12 09:26:14 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=11990

             Bug #: 11990
           Summary: llvm-as 3.0 crashes when compiling bad recursive types
           Product: tools
           Version: 3.0
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: llvm-as
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: jianzhou at cis.upenn.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


The code that crashs llvm-as 3.0

%rt2 = type { %rt2 }
; Note that w.r.t the new type system, %rt2 is a bad type.

define i32 @main() nounwind {
entry:
  %0 = alloca %rt2
  ret i32 0
}

Crashing stack

Program received signal SIGSEGV, Segmentation fault.
0x080660a7 in llvm::ArrayType::classof (T=0x0) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/DerivedTypes.h:352
352       static inline bool classof(const Type *T) {
(gdb) up
#1  0x08066086 in llvm::isa_impl<llvm::ArrayType, llvm::Type>::doit (Val=...)
at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/Support/Casting.h:50
50          return To::classof(&Val);
(gdb) up
#2  0x081d5bb6 in llvm::isa_impl_cl<llvm::ArrayType, llvm::Type const*>::doit
(Val=0x82e2ba0) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/Support/Casting.h:74
74          return isa_impl<To, From>::doit(*Val);
(gdb) up
#3  0x081d5b78 in llvm::isa_impl_wrap<llvm::ArrayType, llvm::Type const*,
llvm::Type const*>::doit (Val=@0xbf8000e4)
    at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/Support/Casting.h:99
99          return isa_impl_cl<To,FromTy>::doit(Val);
(gdb) up
#4  0x081d5ae6 in llvm::isa (Val=@0xbf8000e4) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/Support/Casting.h:110
110       return isa_impl_wrap<X, Y, typename
simplify_type<Y>::SimpleType>::doit(Val);
(gdb) up
#5  0x081ceec9 in llvm::dyn_cast (Val=@0xbf8000e4) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/Support/Casting.h:220
220       return isa<X>(Val) ? cast<X, Y>(Val) : 0;
(gdb) up
#6  0x081cc3c6 in llvm::Type::isSizedDerivedType (this=0x82e2ba0) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/lib/VMCore/Type.cpp:175
175       if (const ArrayType *ATy = dyn_cast<ArrayType>(this))
(gdb) up
#7  0x081ab965 in llvm::Type::isSized (this=0x82e2ba0) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/include/llvm/Type.h:247
247         return isSizedDerivedType();
(gdb) up
#8  0x081cc4d2 in llvm::Type::isSizedDerivedType (this=0x82e2ba0) at
/home/jianzhou/SVN/sol/vol/src3.0/llvm-3.0.src/lib/VMCore/Type.cpp:190
190         if (!(*I)->isSized())

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list