<< 32/66 >>
First Last

clang/.../Target.cpp

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;
  }