diff options
author | Mike Pall <mike> | 2014-07-04 18:17:32 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2014-07-04 18:17:32 +0200 |
commit | f948fe0c2797bb75ed2147ef86795b082712c96b (patch) | |
tree | be57ad8dd6b1b827b33c77b4fb68cc26b3ee92e4 | |
parent | a6c34b85f776d8c83b0c01cbdc50550e613d1fda (diff) | |
download | luajit-f948fe0c2797bb75ed2147ef86795b082712c96b.tar.gz luajit-f948fe0c2797bb75ed2147ef86795b082712c96b.tar.bz2 luajit-f948fe0c2797bb75ed2147ef86795b082712c96b.zip |
FFI: Fix compilation of reference field access.
Diffstat (limited to '')
-rw-r--r-- | src/lj_crecord.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index d4b9ddee..2b83f3a1 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -848,8 +848,11 @@ again: | |||
848 | 848 | ||
849 | /* Resolve reference for field. */ | 849 | /* Resolve reference for field. */ |
850 | ct = ctype_get(cts, sid); | 850 | ct = ctype_get(cts, sid); |
851 | if (ctype_isref(ct->info)) | 851 | if (ctype_isref(ct->info)) { |
852 | ptr = emitir(IRT(IR_XLOAD, IRT_PTR), ptr, 0); | 852 | ptr = emitir(IRT(IR_XLOAD, IRT_PTR), ptr, 0); |
853 | sid = ctype_cid(ct->info); | ||
854 | ct = ctype_get(cts, sid); | ||
855 | } | ||
853 | 856 | ||
854 | while (ctype_isattrib(ct->info)) | 857 | while (ctype_isattrib(ct->info)) |
855 | ct = ctype_child(cts, ct); /* Skip attributes. */ | 858 | ct = ctype_child(cts, ct); /* Skip attributes. */ |