search for: isabstract

Displaying 17 results from an estimated 17 matches for "isabstract".

Did you mean: abstract
2005 Mar 09
4
[LLVMdev] Recursive Types using the llvm support library
...t;> cast<OpaqueType>(StructTy.get())->refineAbstractTypeTo(NewSTy); >>> >>> // NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is >>> // kept up-to-date. >>> NewSTy = StructTy.get(); >>> >> Is assert(!NewSTy->isAbstract()) must pass after this line? > > In this case, yup. > I create test program and assert failed in it: { \2 *, sbyte * } Assertion failed: (!NewSTy->isAbstract()), function main, file /usr/home/wanderer/work/LLVMTest/obj/../src/tools/tool/Test.cc, line 28. Testcase source attached....
2005 Mar 09
0
[LLVMdev] Recursive Types using the llvm support library
On Wed, 9 Mar 2005, Vladimir Merzliakov wrote: > I create test program and assert failed in it: > > { \2 *, sbyte * } > Assertion failed: (!NewSTy->isAbstract()), function main, file > /usr/home/wanderer/work/LLVMTest/obj/../src/tools/tool/Test.cc, line 28. > > Testcase source attached. Thanks, that definitely is a bug. Patch here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050307/024522.html BTW, what are you using the isA...
2005 Mar 08
2
[LLVMdev] Recursive Types using the llvm support library
...truct and the opaque type are actually the same. > cast<OpaqueType>(StructTy.get())->refineAbstractTypeTo(NewSTy); > > // NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is > // kept up-to-date. > NewSTy = StructTy.get(); > Is assert(!NewSTy->isAbstract()) must pass after this line? Vladimir
2005 Mar 21
2
[LLVMdev] Recursive Types using the llvm support library
On Sun, 20 Mar 2005, John Carrino wrote: > On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote: >>>> Is assert(!NewSTy->isAbstract()) must pass after this line? >>> >>> In this case, yup. >>> >> I create test program and assert failed in it: >> >> { \2 *, sbyte * } > > How do I decode the \2 in this? I am creating types through this > interface and I get quite a mess seen...
2005 Mar 08
0
[LLVMdev] Recursive Types using the llvm support library
...actually the same. >> cast<OpaqueType>(StructTy.get())->refineAbstractTypeTo(NewSTy); >> >> // NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is >> // kept up-to-date. >> NewSTy = StructTy.get(); >> > Is assert(!NewSTy->isAbstract()) must pass after this line? In this case, yup. -Chris -- http://nondot.org/sabre/ http://llvm.cs.uiuc.edu/
2005 Mar 21
0
[LLVMdev] Recursive Types using the llvm support library
On Sun, Mar 20, 2005 at 07:01:55PM -0600, Chris Lattner wrote: > On Sun, 20 Mar 2005, John Carrino wrote: > > >On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote: > >>>>Is assert(!NewSTy->isAbstract()) must pass after this line? > >>> > >>>In this case, yup. > >>> > >>I create test program and assert failed in it: > >> > >>{ \2 *, sbyte * } > > > >How do I decode the \2 in this? I am creating types through this > &...
2005 Mar 21
1
[LLVMdev] Recursive Types using the llvm support library
...ngs names so >> that you have a hope to understand them and so they are more compact :) > > I took your advide and used Module::addTypeName which is a great idea > that I didn't know about. > > Now I am getting a seg fault, here > > SymbolTable.cpp:251 > if (T->isAbstract()) { > cast<DerivedType>(T)->addAbstractTypeUser(this); > > I am assuming the patch mentioned earlier on the thread will fix this. > I just wanted to ask to make sure before i went ahead and recompiled. You would have to give me more context to say for sure, but updating to...
2007 Oct 02
1
[LLVMdev] Modifying Instruction Class
...nstruction class but I get assertion errors when I run lli. All I add is the following line to the private portion of the Instruction class definition. bool b; The error usually is: lli: /development/Contracts/DOVE/src/c/llvm/include/llvm/Type.h:329: void llvm::Type::dropRef() const: Assertion `isAbstract() && "Cannot drop a reference to a non-abstract type!"' failed. lli((anonymous namespace)::PrintStackTrace()+0x1a)[0x848a04a] /lib/tls/libc.so.6(abort+0x129)[0x5a1319] /lib/tls/libc.so.6(__assert_fail+0x101)[0x598f41] lli[0x8438796] Aborted I'm lost on where this error is...
2005 Mar 21
0
[LLVMdev] Recursive Types using the llvm support library
On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote: > >>Is assert(!NewSTy->isAbstract()) must pass after this line? > > > >In this case, yup. > > > I create test program and assert failed in it: > > { \2 *, sbyte * } How do I decode the \2 in this? I am creating types through this interface and I get quite a mess seen below. And this is relatively sim...
2004 Jul 10
3
[LLVMdev] Re: [llvm-commits] CAUTION: Type != Value
...found line (254): ((Value*)Ty)->setName(Name, &ST); Type is not Value now and for me this code call llvm::DerivedType::addAbstractTypeUser (I think it have same index in Type VMT in as setName in Value VMT) with random argument values and terminated with assert fail: Assertion failed: (isAbstract() && "addAbstractTypeUser: Current type not abstract!"), function addAbstractTypeUser, file /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/DerivedTypes.h, line 73. In Chris Lattner remove setName from Type class http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-2004...
2006 Sep 12
1
[LLVMdev] ICE in LLVM GCC4 Front End
...vision 166) +++ gcc/llvm-convert.cpp (working copy) @@ -2202,18 +2202,23 @@ // Figure out how large the element pointed to is. const Type *ElTy = cast<PointerType>(LHS->getType())- >getElementType(); - int64_t EltSize = TD.getTypeSize(ElTy); + + if (!ElTy->isAbstract()) { + // We can only get the type size (and thus convert to using a GEP instr) + // if the type isn't abstract + int64_t EltSize = TD.getTypeSize(ElTy); - // If EltSize exactly divides Offset, then we know that we can turn this - // into a getelementptr instruction. -...
2004 Jul 10
0
[LLVMdev] Re: [llvm-commits] CAUTION: Type != Value
...>setName(Name, &ST); > > Type is not Value now and for me this code call > llvm::DerivedType::addAbstractTypeUser (I think it have same index in Type > VMT in as setName in Value VMT) > with random argument values and terminated with assert fail: > > Assertion failed: (isAbstract() && "addAbstractTypeUser: Current type not > abstract!"), function addAbstractTypeUser, file > /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/DerivedTypes.h, line 73. > > In Chris Lattner remove setName from Type class > http://mail.cs.uiuc.edu/pipermail/llvm...
2005 Mar 08
0
[LLVMdev] Recursive Types using the llvm support library
On Mon, 7 Mar 2005, John Carrino wrote: > As far as I can tell, when you construct a type using the support > library StructType::get, you have to pass in a list of types. How can > you make a Recursive type by passing in a pointer to the type you are > constucting. > > An example where something really simple like the line below was output > would be perfect. > >
2005 Mar 08
3
[LLVMdev] Recursive Types using the llvm support library
As far as I can tell, when you construct a type using the support library StructType::get, you have to pass in a list of types. How can you make a Recursive type by passing in a pointer to the type you are constucting. An example where something really simple like the line below was output would be perfect. %struct.linked_list = type { %struct.linked_list*, %sbyte* } Thanks for any help,
2010 Jan 09
0
[LLVMdev] [PATCH] - Union types, attempt 2
...teger(32) which is probably new since you started your patch. +UnionType::UnionType(LLVMContext &C, const std::vector<const Type*> &Types) + : CompositeType(C, UnionTyID) { + ContainedTys = reinterpret_cast<PATypeHandle*>(this + 1); + NumContainedTys = Types.size(); + bool isAbstract = false; + for (unsigned i = 0; i < Types.size(); ++i) { No need to evaluate Types.size() every time through the loop. +bool LLParser::ParseUnionType(PATypeHolder &Result) { ... + if (!EatIfPresent(lltok::lbrace)) { + return Error(EltTyLoc, "'{' expected after 'union...
2010 Jan 06
3
[LLVMdev] [PATCH] - Union types, attempt 2
This patch adds a UnionType to DerivedTypes.h. It also adds code to the bitcode reader / writer and the assembly parser for the new type, as well as a tiny .ll test file in test/Assembler. It does not contain any code related to code generation or type layout - I wanted to see if this much was acceptable before I proceeded any further. Unlike my previous patch, in which the Union type was
2010 Jan 11
2
[LLVMdev] [PATCH] - Union types, attempt 2
...gt; started your patch. > > > +UnionType::UnionType(LLVMContext &C, const std::vector<const Type*> > &Types) > + : CompositeType(C, UnionTyID) { > + ContainedTys = reinterpret_cast<PATypeHandle*>(this + 1); > + NumContainedTys = Types.size(); > + bool isAbstract = false; > + for (unsigned i = 0; i < Types.size(); ++i) { > > No need to evaluate Types.size() every time through the loop. > > > +bool LLParser::ParseUnionType(PATypeHolder &Result) { > ... > + if (!EatIfPresent(lltok::lbrace)) { > + return Error(EltTyLoc, &...