<div dir="ltr">Hi, in simple-inheritance the base object is always allocated first, and because of the union of double, long long, etc... the first element is aligned, so the others will be contigous. It's a bit tricky but should work always...<br>
<br><div class="gmail_quote">2008/8/28 Rafael Espindola <span dir="ltr"><<a href="mailto:espindola@google.com">espindola@google.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
While debugging a bootstrap problem, I noticed that SmallVector stores<br>
one element in SmallVectorImpl and N - 1 in SmallVector. It also<br>
assumes that all elements are continuous in memory. Does C++ makes any<br>
guaranties about the relative memory position of a base and parent<br>
classes?<br>
<br>
I haven't studied it a lot, maybe we can keep N elements in<br>
SmallVector and pass the pointer to SmallVectorImpl constructor?<br>
<br>
Cheers,<br>
--<br>
Rafael Avila de Espindola<br>
<br>
Google | Gordon House | Barrow Street | Dublin 4 | Ireland<br>
Registered in Dublin, Ireland | Registration Number: 368047<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>