aboutsummaryrefslogtreecommitdiff
path: root/src/lj_cparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_cparse.c')
-rw-r--r--src/lj_cparse.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_cparse.c b/src/lj_cparse.c
index 4230d03a..a1361a12 100644
--- a/src/lj_cparse.c
+++ b/src/lj_cparse.c
@@ -1327,6 +1327,8 @@ static void cp_struct_layout(CPState *cp, CTypeID sid, CTInfo sattr)
1327 ct->info = CTINFO(CT_FIELD, ctype_cid(ct->info)); 1327 ct->info = CTINFO(CT_FIELD, ctype_cid(ct->info));
1328 ct->size = (bofs >> 3); /* Store field offset. */ 1328 ct->size = (bofs >> 3); /* Store field offset. */
1329 } else { 1329 } else {
1330 if (csz > amask+1 && bsz <= amask+1)
1331 csz = amask+1; /* Shrink container of packed bitfield. */
1330 ct->info = CTINFO(CT_BITFIELD, 1332 ct->info = CTINFO(CT_BITFIELD,
1331 (info & (CTF_QUAL|CTF_UNSIGNED|CTF_BOOL)) + 1333 (info & (CTF_QUAL|CTF_UNSIGNED|CTF_BOOL)) +
1332 (csz << (CTSHIFT_BITCSZ-3)) + (bsz << CTSHIFT_BITBSZ)); 1334 (csz << (CTSHIFT_BITCSZ-3)) + (bsz << CTSHIFT_BITBSZ));