diff options
author | Mike Pall <mike> | 2012-09-10 18:05:54 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-09-10 18:05:54 +0200 |
commit | 76ab3709da40dd3cc3ab9223dde33050430cd789 (patch) | |
tree | acb5b175d30ae1ee3a5fdb222fee37870b8ec05b /src | |
parent | 21cea85d922ecfe6e5317d3303549022f98d6826 (diff) | |
download | luajit-76ab3709da40dd3cc3ab9223dde33050430cd789.tar.gz luajit-76ab3709da40dd3cc3ab9223dde33050430cd789.tar.bz2 luajit-76ab3709da40dd3cc3ab9223dde33050430cd789.zip |
FFI: Correctly propagate alignment when interning nested types.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_cparse.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_cparse.c b/src/lj_cparse.c index ab5903fa..6642e8d8 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c | |||
@@ -918,7 +918,9 @@ static CTypeID cp_decl_intern(CPState *cp, CPDecl *decl) | |||
918 | size = (CTSize)xsz; | 918 | size = (CTSize)xsz; |
919 | } | 919 | } |
920 | } | 920 | } |
921 | info |= (cinfo & (CTF_QUAL|CTF_ALIGN)); /* Inherit qual and align. */ | 921 | if ((cinfo & CTF_ALIGN) > (info & CTF_ALIGN)) /* Find max. align. */ |
922 | info = (info & ~CTF_ALIGN) | (cinfo & CTF_ALIGN); | ||
923 | info |= (cinfo & CTF_QUAL); /* Inherit qual. */ | ||
922 | } else { | 924 | } else { |
923 | lua_assert(ctype_isvoid(info)); | 925 | lua_assert(ctype_isvoid(info)); |
924 | } | 926 | } |