Ptr->Untyped[2] = (Val.UIntVal >> 16) & 255;
Ptr->Untyped[3] = (Val.UIntVal >> 24) & 255;
break;
- case Type::PointerTyID: if (CurMod.has32BitPointers())
+ case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64)
goto Store4BytesLittleEndian;
case Type::DoubleTyID:
case Type::ULongTyID:
Ptr->Untyped[1] = (Val.UIntVal >> 16) & 255;
Ptr->Untyped[0] = (Val.UIntVal >> 24) & 255;
break;
- case Type::PointerTyID: if (CurMod.has32BitPointers())
+ case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64)
goto Store4BytesBigEndian;
case Type::DoubleTyID:
case Type::ULongTyID:
((unsigned)Ptr->Untyped[2] << 16) |
((unsigned)Ptr->Untyped[3] << 24);
break;
- case Type::PointerTyID: if (getModule().has32BitPointers())
+ case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64)
goto Load4BytesLittleEndian;
case Type::DoubleTyID:
case Type::ULongTyID:
((unsigned)Ptr->Untyped[1] << 16) |
((unsigned)Ptr->Untyped[0] << 24);
break;
- case Type::PointerTyID: if (getModule().has32BitPointers())
+ case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64)
goto Load4BytesBigEndian;
case Type::DoubleTyID:
case Type::ULongTyID:
case 'u': case 'o':
case 'x': case 'X':
if (HowLong >= 1) {
- if (HowLong == 1 && TheInterpreter->getModule().has64BitPointers() &&
+ if (HowLong == 1 &&
+ TheInterpreter->getModule().getPointerSize()==Module::Pointer64 &&
sizeof(long) < sizeof(long long)) {
// Make sure we use %lld with a 64 bit argument because we might be
// compiling LLI on a 32 bit compiler.
}
#endif
- unsigned Config = (M->isLittleEndian() ? TM::LittleEndian : TM::BigEndian) |
- (M->has32BitPointers() ? TM::PtrSize32 : TM::PtrSize64);
+ // FIXME: in adddition to being gross, this is also wrong: This should use the
+ // pointersize/endianness of the host if the pointer size is not specified!!
+ unsigned Config = (M->getEndianness() != Module::BigEndian ? TM::LittleEndian : TM::BigEndian) |
+ (M->getPointerSize() != Module::Pointer64 ? TM::PtrSize32 : TM::PtrSize64);
ExecutionEngine *EE = 0;
// If there is nothing that is forcing us to use the interpreter, make a JIT.