[Python-Dev] Alignment assumptions (original) (raw)
David Abrahams David Abrahams" <david.abrahams@rcn.com
Wed, 27 Feb 2002 15:01:50 -0500
- Previous message: [Python-Dev] Supporting precision in a DateTime type
- Next message: [Python-Dev] Alignment assumptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
A quick grep-find through the Python-2.2 sources reveals the following:
Include/dictobject.h:49: long aligner; Include/objimpl.h:275: double dummy; /* force worst-case alignment / Modules/addrinfo.h:162: LONG_LONG __ss_align; / force desired structure storage alignment / Modules/addrinfo.h:164: double __ss_align; / force desired structure storage alignment */
At first glance, there appear to be different assumptions at work here about what constitutes maximal alignment on any given platform. I've been using a little C++ metaprogram to find a type which will properly align any other given type. Because of limitations of one compiler, I had to disable the computation and instead used the objimpl.h assumption that double was maximally aligned, but also added a compile-time assertion to check that the alignment is always greater than or equal to that of the target type. Well, it failed today on Tru64 Unix with the latest compaq CXX 6.5 prerelease compiler; it appears that the alignment of long double is greater than that of double on that platform.
I thought someone might want to know, Dave
+---------------------------------------------------------------+ David Abrahams C++ Booster (http://www.boost.org) O__ == Pythonista (http://www.python.org) c/ /'_ == resume: http://users.rcn.com/abrahams/resume.html () () == email: david.abrahams@rcn.com +---------------------------------------------------------------+
- Previous message: [Python-Dev] Supporting precision in a DateTime type
- Next message: [Python-Dev] Alignment assumptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]