diff --git a/gen/typinf.cpp b/gen/typinf.cpp index 566b13d6..5928089c 100644 --- a/gen/typinf.cpp +++ b/gen/typinf.cpp @@ -716,11 +716,11 @@ void TypeInfoStructDeclaration::llvmDefine() ClassDeclaration* tscd = Type::typeinfostruct; - // On Windows x86_64, class TypeInfo_Struct contains 2 additional fields + // On x86_64, class TypeInfo_Struct contains 2 additional fields // (m_arg1/m_arg2) which are used for the X86_64 System V ABI varargs - // implementation. They are not present on any other os. - assert((!(global.params.is64bit && global.params.os == OSWindows) && tscd->fields.dim == 11) || - (global.params.is64bit && global.params.os == OSWindows && tscd->fields.dim == 13)); + // implementation. They are not present on any other cpu/os. + assert((global.params.cpu != ARCHx86_64 && tscd->fields.dim == 11) || + (global.params.cpu == ARCHx86_64 && tscd->fields.dim == 13)); //void function(void*) xdtor; b.push_funcptr(sd->dtor);