These synthetic providers use expression evaluation and fail in some cases.
Examples:
llvm::PointerIntPair<llvm::PointerUnion<const Type *, const ExtQuals *>,
Qualifiers::FastWidth> Value;and
typedef llvm::PointerUnion<const ValueDecl *, const Expr *, TypeInfoLValue,
DynamicAllocLValue>
PtrTy;Original contribution: D117779
rdar://110791233
rdar://112195543