reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/ADT/PointerUnion.h
   64     return std::min<int>({PointerLikeTypeTraits<Ts>::NumLowBitsAvailable...});
   76     static constexpr int Index = 1 + TypeIndex<T, Us...>::Index;
   76     static constexpr int Index = 1 + TypeIndex<T, Us...>::Index;
   93     static constexpr int NumLowBitsAvailable = lowBitsAvailable<PTs...>();
  124     PointerUnionMembers(Type V)
  130     Derived &operator=(Type V) {
  132           const_cast<void *>(PointerLikeTypeTraits<Type>::getAsVoidPointer(V)),
  158           PointerUnion<PTs...>,
  161               pointer_union_detail::PointerUnionUIntTraits<PTs...>>,
  162           0, PTs...> {
  168   using First = typename pointer_union_detail::GetFirstType<PTs...>::type;
  185     constexpr int Index = pointer_union_detail::TypeIndex<T, PTs...>::Index;
  185     constexpr int Index = pointer_union_detail::TypeIndex<T, PTs...>::Index;
  194   template <typename T> T get() const {
  196     return PointerLikeTypeTraits<T>::getFromVoidPointer(this->Val.getPointer());
  201   template <typename T> T dyn_cast() const {
  202     if (is<T>())
  203       return get<T>();
  248 bool operator!=(PointerUnion<PTs...> lhs, PointerUnion<PTs...> rhs) {
  248 bool operator!=(PointerUnion<PTs...> lhs, PointerUnion<PTs...> rhs) {
tools/clang/include/clang/AST/APValue.h
   48   static TypeInfoLValue getFromOpaqueValue(void *Value) {
   49     TypeInfoLValue V;
   88   static void *getAsVoidPointer(clang::TypeInfoLValue V) {
   91   static clang::TypeInfoLValue getFromVoidPointer(void *P) {
   92     return clang::TypeInfoLValue::getFromOpaqueValue(P);
  139     typedef llvm::PointerUnion<const ValueDecl *, const Expr *, TypeInfoLValue,
  148     static LValueBase getTypeInfo(TypeInfoLValue LV, QualType TypeInfo);
  151     bool is() const { return Ptr.is<T>(); }
  157     T dyn_cast() const { return Ptr.dyn_cast<T>(); }
  157     T dyn_cast() const { return Ptr.dyn_cast<T>(); }
tools/clang/lib/AST/APValue.cpp
   36     1 << llvm::PointerLikeTypeTraits<TypeInfoLValue>::NumLowBitsAvailable <=
   53 APValue::LValueBase APValue::LValueBase::getTypeInfo(TypeInfoLValue LV,
   62   return (is<TypeInfoLValue>() || is<DynamicAllocLValue>()) ? 0
   67   return (is<TypeInfoLValue>() || is<DynamicAllocLValue>()) ? 0 : Local.Version;
   85   if (LHS.is<TypeInfoLValue>())
  128   if (Base.is<TypeInfoLValue>() || Base.is<DynamicAllocLValue>())
  551       else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) {
  551       else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) {
  582     } else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) {
  582     } else if (TypeInfoLValue TI = Base.dyn_cast<TypeInfoLValue>()) {
tools/clang/lib/AST/ExprConstant.cpp
   96     if (B.is<TypeInfoLValue>())
 1872   if (B.is<TypeInfoLValue>() || B.is<DynamicAllocLValue>())
 7538   TypeInfoLValue TypeInfo;
10115   } else if (Base.is<TypeInfoLValue>()) {
10183   } else if (B.is<TypeInfoLValue>()) {
tools/clang/lib/CodeGen/CGExprConstant.cpp
 1890   if (TypeInfoLValue TI = base.dyn_cast<TypeInfoLValue>()) {
 1890   if (TypeInfoLValue TI = base.dyn_cast<TypeInfoLValue>()) {