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
Differential Revision: https://reviews.llvm.org/D155219
10 KiB
10 KiB