[LLVMdev] StructType opaque->sized
baldrick at free.fr
Tue Jan 22 01:54:29 PST 2013
On 22/01/13 09:04, Rick Mann wrote:
> I'm building a StructType without a body using
> StructType *StructType::create(LLVMContext &Context, StringRef Name);
> and then later adding a body to with setBody(). It starts of isOpaque() == true, and isSized() == false, and after I add the body, isOpaque() == false, but isSized() is still false.
this is the standard way of making a struct type, so I suspect you made a
mistake such as adding an opaque field to the struct (this will stop it from
having a size).
> If I create a StructType using
> StructType * StructType ::create(LLVMContext &Context,
> ArrayRef<Type*> Elements,
> StringRef Name,
> bool isPacked = false);
> Then isOpaque() == false and isSized() == true.
> Can I not make a sized struct starting with an opaque one and adding a body later?
More information about the llvm-dev