rsmith added inline comments. ================ Comment at: lib/Basic/Targets.cpp:1648-1684 @@ +1647,39 @@ + + // Match the host's types. + PointerWidth = HostTarget->getPointerWidth(/* AddrSpace = */ 0); + PointerAlign = HostTarget->getPointerAlign(/* AddrSpace = */ 0); + BoolWidth = HostTarget->getBoolWidth(); + BoolAlign = HostTarget->getBoolAlign(); + IntWidth = HostTarget->getIntWidth(); + IntWidth = HostTarget->getIntWidth(); + HalfWidth = HostTarget->getHalfWidth(); + HalfWidth = HostTarget->getHalfWidth(); + FloatWidth = HostTarget->getFloatWidth(); + FloatWidth = HostTarget->getFloatWidth(); + DoubleWidth = HostTarget->getDoubleWidth(); + DoubleWidth = HostTarget->getDoubleWidth(); + LongWidth = HostTarget->getLongWidth(); + LongAlign = HostTarget->getLongAlign(); + LongLongWidth = HostTarget->getLongLongWidth(); + LongLongAlign = HostTarget->getLongLongAlign(); + MinGlobalAlign = HostTarget->getMinGlobalAlign(); + DefaultAlignForAttributeAligned = + HostTarget->getDefaultAlignForAttributeAligned(); + SizeType = HostTarget->getSizeType(); + IntMaxType = HostTarget->getIntMaxType(); + PtrDiffType = HostTarget->getPtrDiffType(/* AddrSpace = */ 0); + IntPtrType = HostTarget->getIntPtrType(); + WCharType = HostTarget->getWCharType(); + WIntType = HostTarget->getWIntType(); + Char16Type = HostTarget->getChar16Type(); + Char32Type = HostTarget->getChar32Type(); + Int64Type = HostTarget->getInt64Type(); + SigAtomicType = HostTarget->getSigAtomicType(); + ProcessIDType = HostTarget->getProcessIDType(); + + UseBitFieldTypeAlignment = HostTarget->useBitFieldTypeAlignment(); + UseZeroLengthBitfieldAlignment = + HostTarget->useZeroLengthBitfieldAlignment(); + UseExplicitBitFieldAlignment = HostTarget->useExplicitBitFieldAlignment(); + ZeroLengthBitfieldBoundary = HostTarget->getZeroLengthBitfieldBoundary(); + ---------------- I think we need to do more to make sure this list of fields is kept up to date as more of these values are added or changed.
Possible idea: could we have a test that builds with `-E -dM` in both host and device mode, greps for the `__*_TYPE__`, `__*_MAX__` (etc) predefines, and compares them across the two runs? http://reviews.llvm.org/D19346 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits