lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


I currently have a cross-platform project running Lua. I tried to implement LuaJIT on it, and was successful in Windows under Visual Studio 8. However, when I try to compile the project in QNX Momentics 4.6, I receive the following error:

size of array `check_TVALUE_SIZE_in_ljit_x86_dash_' is too large
inc/ljit_x86.h	line 367

Looking at the code:

/* Check some assumptions. Should compile to nop. */
static int jit_consistency_check(jit_State *J)
{
  do {
    /* Force a compiler error for inconsistent structure sizes. */
    /* Check LUA_TVALUE_ALIGN in luaconf.h, too. */
    int check_TVALUE_SIZE_in_ljit_x86_dash[1+16-sizeof(TValue)];
    int check_TVALUE_SIZE_in_ljit_x86_dash_[1+sizeof(TValue)-16];
    ((void)check_TVALUE_SIZE_in_ljit_x86_dash[0]);
    ((void)check_TVALUE_SIZE_in_ljit_x86_dash_[0]);
    if (LUA_TNIL != 0 || LUA_TBOOLEAN != 1 || PCRLUA != 0) break;
    if ((int)&(((Node *)0)->i_val) != (int)&(((StkId)0)->value)) break;
    return JIT_S_OK;
  } while (0);
  J->dasmstatus = 999999999;  /* Recognizable error. */
  return JIT_S_COMPILER_ERROR;
}

...it clearly looks like this is intentional to prevent some issue. However, I am afraid that I am inexperienced enough to know exactly what would cause this issue and what the recommended way of handling it is.

Thank you,

Jason Stern