clang側にも多少ターゲット情報の記述が必要
これも、なんでもかんでも適当に 32bit でお願いします…という気持ちがこめられている
ELVMTargetInfo(const llvm::Triple &Triple, const TargetOptions &) : TargetInfo(Triple) { BoolWidth = BoolAlign = 32; CharWidth = CharAlign = 32; HalfWidth = HalfAlign = 32; IntWidth = IntAlign = 32; LongWidth = LongAlign = 32; LongLongWidth = LongLongAlign = 32; LongWidth = LongAlign = PointerWidth = PointerAlign = 32; SizeType = UnsignedLong; PtrDiffType = SignedLong; IntPtrType = SignedLong; IntMaxType = SignedLong; Int64Type = SignedLong; FloatWidth = 32; FloatAlign = 32; DoubleWidth = 32; DoubleAlign = 32; LongDoubleWidth = 32; LongDoubleAlign = 32; FloatFormat = &llvm::APFloat::IEEEsingle(); DoubleFormat = &llvm::APFloat::IEEEsingle(); LongDoubleFormat = &llvm::APFloat::IEEEsingle(); RegParmMax = 0; resetDataLayout("ELVM-e-m:e-p:32:32-i32:32-n32-S32"); MaxAtomicPromoteWidth = 32; MaxAtomicInlineWidth = 32; TLSSupported = false; }