diff options
| author | Mike Pall <mike> | 2026-03-30 20:43:18 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2026-03-30 20:43:18 +0200 |
| commit | 18b087cd2cd4ddc4a79782bf155383a689d5093d (patch) | |
| tree | 402308b57dd435564b3cd2e483d49f4b221dfac0 /src/lj_cparse.c | |
| parent | fbb36bb6bfa88716a47c58bcf9ce9f2ef752abac (diff) | |
| parent | e4c7d8b38040518d42599eef8ddb5e67aa967a9c (diff) | |
| download | luajit-18b087cd2cd4ddc4a79782bf155383a689d5093d.tar.gz luajit-18b087cd2cd4ddc4a79782bf155383a689d5093d.tar.bz2 luajit-18b087cd2cd4ddc4a79782bf155383a689d5093d.zip | |
Diffstat (limited to 'src/lj_cparse.c')
| -rw-r--r-- | src/lj_cparse.c | 2 |
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)); |
