http://llvm.org/bugs/show_bug.cgi?id=2911
Gordon Henriksen <[EMAIL PROTECTED]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[EMAIL PROTECTED]
Status|NEW |RESOLVED
Resolution| |LATER
--- Comment #1 from Gordon Henriksen <[EMAIL PROTECTED]> 2008-10-25 10:07:48
---
This is by design. That is, the system only supports using pointers as gcroots.
I don't see this changing before a major redesign of the GC system (but patches
are welcome!).
A workaround would be to create (locally constant) pointers to your structs and
pass those to llvm.gcroot:
%fp = alloca %FatPointerType
store %FatPointerType { i8* null, i32 0 }, %FatPointerType* %fp
%fp_root = alloca %FatPointerType*
%fp_root2 = bitcast %FatPointerType** %fp_root to i8**
call void @llvm.gcroot(i8** %fp_root2, i8* null)
store %FatPointerType* %fp, %FatPointerType** %fp
This will cost an extra indirection in the collector and increase function call
overhead.
--
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs