aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2012-09-10 18:05:54 +0200
committerMike Pall <mike>2012-09-10 18:05:54 +0200
commit76ab3709da40dd3cc3ab9223dde33050430cd789 (patch)
treeacb5b175d30ae1ee3a5fdb222fee37870b8ec05b /src
parent21cea85d922ecfe6e5317d3303549022f98d6826 (diff)
downloadluajit-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.c4
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 }