aboutsummaryrefslogtreecommitdiff
path: root/src/runtime.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-10 15:03:56 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-10 15:03:56 -0700
commitbb7546d9f4b694b96a971e39f4d81fec0bb0610b (patch)
tree699683c8c49edf02caba8eb298c53c28eb9b713b /src/runtime.js
parentc33af789cb9d37ccea5cfb7cc3eef87c2eb8d2fd (diff)
handle flexible arrays at the end of structs, whose elements are themselves structs; fixes #1602
Diffstat (limited to 'src/runtime.js')
-rw-r--r--src/runtime.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/runtime.js b/src/runtime.js
index 33088ad9..6b1afd80 100644
--- a/src/runtime.js
+++ b/src/runtime.js
@@ -214,7 +214,11 @@ var Runtime = {
// and it adds no size
// XXX this happens in java-nbody for example... assert(index === type.fields.length, 'zero-length in the middle!');
size = 0;
- alignSize = type.alignSize || QUANTUM_SIZE;
+ if (Types.types[field]) {
+ alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize);
+ } else {
+ alignSize = type.alignSize || QUANTUM_SIZE;
+ }
} else {
size = Types.types[field].flatSize;
alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize);