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

Declarations

tools/clang/include/clang/AST/ASTMutationListener.h
   35   class QualType;
tools/clang/include/clang/AST/ASTStructuralEquivalence.h
   29 class QualType;
tools/clang/include/clang/AST/Attr.h
   40 class QualType;
tools/clang/include/clang/AST/ComparisonCategories.h
   34 class QualType;
tools/clang/include/clang/AST/NSAPI.h
   19   class QualType;
tools/clang/include/clang/AST/Type.h
   60 class QualType;
tools/clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h
   21 class QualType;
tools/clang/include/clang/Basic/Builtins.h
   29 class QualType;
tools/clang/include/clang/Basic/FixedPoint.h
   26 class QualType;
tools/clang/include/clang/Basic/TargetInfo.h
   47 class QualType;
tools/clang/include/clang/Index/USRGeneration.h
   22 class QualType;
tools/clang/include/clang/Sema/AnalysisBasedWarnings.h
   24 class QualType;
tools/clang/include/clang/Sema/Ownership.h
   36 class QualType;
tools/clang/include/clang/Sema/Sema.h
  171   class QualType;
tools/clang/include/clang/Serialization/ASTDeserializationListener.h
   24 class QualType;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
   23 class QualType;
tools/clang/lib/AST/Interp/ByteCodeExprGen.h
   27 class QualType;
tools/clang/lib/AST/Interp/ByteCodeStmtGen.h
   28 class QualType;
tools/clang/lib/CodeGen/CodeGenTBAA.h
   28   class QualType;
tools/clang/lib/CodeGen/CodeGenTypes.h
   42 class QualType;
tools/lldb/include/lldb/Core/ClangForward.h
   96 class QualType;
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
   24 class QualType;
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   21 class QualType;

References

gen/tools/clang/include/clang/AST/Attrs.inc
 5502   QualType getInterface() const {
11119   QualType getDerefType() const {
11588   QualType getDerefType() const {
14303   QualType getMatchingCType() const {
14834   QualType getTypeHint() const {
gen/tools/clang/lib/Sema/OpenCLBuiltins.inc
16540                      llvm::SmallVectorImpl<QualType> &QT) {
include/llvm/ADT/ArrayRef.h
   43     using iterator = const T *;
   44     using const_iterator = const T *;
   50     const T *Data = nullptr;
   66     /*implicit*/ ArrayRef(const T &OneElt)
   70     /*implicit*/ ArrayRef(const T *data, size_t length)
   74     ArrayRef(const T *begin, const T *end)
   74     ArrayRef(const T *begin, const T *end)
   81     /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
   87     /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
   92     /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
   97     /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
  100     /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
  145     const T *data() const { return Data; }
  151     const T &front() const {
  157     const T &back() const {
  163     template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
  164       T *Buff = A.template Allocate<T>(Length);
  164       T *Buff = A.template Allocate<T>(Length);
  178     ArrayRef<T> slice(size_t N, size_t M) const {
  184     ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
  187     ArrayRef<T> drop_front(size_t N = 1) const {
  193     ArrayRef<T> drop_back(size_t N = 1) const {
  200     template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
  206     template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
  211     ArrayRef<T> take_front(size_t N = 1) const {
  218     ArrayRef<T> take_back(size_t N = 1) const {
  226     template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
  232     template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
  239     const T &operator[](size_t Index) const {
  249     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  257     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  263     std::vector<T> vec() const {
  270     operator std::vector<T>() const {
  290   class LLVM_NODISCARD MutableArrayRef : public ArrayRef<T> {
  292     using iterator = T *;
  302     /*implicit*/ MutableArrayRef(T &OneElt) : ArrayRef<T>(OneElt) {}
  305     /*implicit*/ MutableArrayRef(T *data, size_t length)
  309     MutableArrayRef(T *begin, T *end) : ArrayRef<T>(begin, end) {}
  309     MutableArrayRef(T *begin, T *end) : ArrayRef<T>(begin, end) {}
  312     /*implicit*/ MutableArrayRef(SmallVectorImpl<T> &Vec)
  316     /*implicit*/ MutableArrayRef(std::vector<T> &Vec)
  321     /*implicit*/ constexpr MutableArrayRef(std::array<T, N> &Arr)
  326     /*implicit*/ constexpr MutableArrayRef(T (&Arr)[N]) : ArrayRef<T>(Arr) {}
  328     T *data() const { return const_cast<T*>(ArrayRef<T>::data()); }
  337     T &front() const {
  343     T &back() const {
  350     MutableArrayRef<T> slice(size_t N, size_t M) const {
  356     MutableArrayRef<T> slice(size_t N) const {
  361     MutableArrayRef<T> drop_front(size_t N = 1) const {
  366     MutableArrayRef<T> drop_back(size_t N = 1) const {
  374     MutableArrayRef<T> drop_while(PredicateT Pred) const {
  381     MutableArrayRef<T> drop_until(PredicateT Pred) const {
  386     MutableArrayRef<T> take_front(size_t N = 1) const {
  393     MutableArrayRef<T> take_back(size_t N = 1) const {
  402     MutableArrayRef<T> take_while(PredicateT Pred) const {
  409     MutableArrayRef<T> take_until(PredicateT Pred) const {
  416     T &operator[](size_t Index) const {
  450   ArrayRef<T> makeArrayRef(const T &OneElt) {
  450   ArrayRef<T> makeArrayRef(const T &OneElt) {
  456   ArrayRef<T> makeArrayRef(const T *data, size_t length) {
  456   ArrayRef<T> makeArrayRef(const T *data, size_t length) {
  462   ArrayRef<T> makeArrayRef(const T *begin, const T *end) {
  462   ArrayRef<T> makeArrayRef(const T *begin, const T *end) {
  462   ArrayRef<T> makeArrayRef(const T *begin, const T *end) {
  468   ArrayRef<T> makeArrayRef(const SmallVectorImpl<T> &Vec) {
  468   ArrayRef<T> makeArrayRef(const SmallVectorImpl<T> &Vec) {
  474   ArrayRef<T> makeArrayRef(const SmallVector<T, N> &Vec) {
  474   ArrayRef<T> makeArrayRef(const SmallVector<T, N> &Vec) {
  523   inline bool operator==(ArrayRef<T> LHS, ArrayRef<T> RHS) {
  523   inline bool operator==(ArrayRef<T> LHS, ArrayRef<T> RHS) {
  528   inline bool operator!=(ArrayRef<T> LHS, ArrayRef<T> RHS) {
  528   inline bool operator!=(ArrayRef<T> LHS, ArrayRef<T> RHS) {
include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   43   KeyT &getFirst() { return std::pair<KeyT, ValueT>::first; }
   44   const KeyT &getFirst() const { return std::pair<KeyT, ValueT>::first; }
   45   ValueT &getSecond() { return std::pair<KeyT, ValueT>::second; }
   46   const ValueT &getSecond() const { return std::pair<KeyT, ValueT>::second; }
   65   using key_type = KeyT;
   66   using mapped_type = ValueT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
  121     const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
  122     if (is_trivially_copyable<KeyT>::value &&
  145   size_type count(const_arg_type_t<KeyT> Val) const {
  150   iterator find(const_arg_type_t<KeyT> Val) {
  156   const_iterator find(const_arg_type_t<KeyT> Val) const {
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  210   std::pair<iterator, bool> try_emplace(KeyT &&Key, Ts &&... Args) {
  229   std::pair<iterator, bool> try_emplace(const KeyT &Key, Ts &&... Args) {
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  272   bool erase(const KeyT &Val) {
  291   value_type& FindAndConstruct(const KeyT &Key) {
  299   ValueT &operator[](const KeyT &Key) {
  299   ValueT &operator[](const KeyT &Key) {
  303   value_type& FindAndConstruct(KeyT &&Key) {
  311   ValueT &operator[](KeyT &&Key) {
  311   ValueT &operator[](KeyT &&Key) {
  334     const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
  349     const KeyT EmptyKey = getEmptyKey();
  351       ::new (&B->getFirst()) KeyT(EmptyKey);
  369     const KeyT EmptyKey = getEmptyKey();
  370     const KeyT TombstoneKey = getTombstoneKey();
  380         ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  414   static unsigned getHashValue(const KeyT &Val) {
  419   static unsigned getHashValue(const LookupKeyT &Val) {
  423   static const KeyT getEmptyKey() {
  429   static const KeyT getTombstoneKey() {
  437     if (shouldReverseIterate<KeyT>()) {
  447     if (shouldReverseIterate<KeyT>()) {
  515   BucketT *InsertIntoBucket(BucketT *TheBucket, KeyArg &&Key,
  519     TheBucket->getFirst() = std::forward<KeyArg>(Key);
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  525   BucketT *InsertIntoBucketWithLookup(BucketT *TheBucket, KeyT &&Key,
  526                                       ValueT &&Value, LookupKeyT &Lookup) {
  535   BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
  535   BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
  566     const KeyT EmptyKey = getEmptyKey();
  578   bool LookupBucketFor(const LookupKeyT &Val,
  590     const KeyT EmptyKey = getEmptyKey();
  591     const KeyT TombstoneKey = getTombstoneKey();
  629   bool LookupBucketFor(const LookupKeyT &Val, BucketT *&FoundBucket) {
  684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
  684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
  685                                      KeyT, ValueT, KeyInfoT, BucketT> {
  685                                      KeyT, ValueT, KeyInfoT, BucketT> {
  690   using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
  690   using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
  852           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
  852           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
  852           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
  853           ValueT, KeyInfoT, BucketT> {
  908     const KeyT EmptyKey = this->getEmptyKey();
  909     const KeyT TombstoneKey = this->getTombstoneKey();
  959       ::new (&NewB->getFirst()) KeyT(std::move(OldB->getFirst()));
 1023       const KeyT EmptyKey = this->getEmptyKey();
 1024       const KeyT TombstoneKey = this->getTombstoneKey();
 1030           ::new (&TmpEnd->getFirst()) KeyT(std::move(P->getFirst()));
 1031           ::new (&TmpEnd->getSecond()) ValueT(std::move(P->getSecond()));
 1163   using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
 1163   using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
 1186     if (shouldReverseIterate<KeyT>()) {
 1199       const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
 1199       const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
 1210     if (shouldReverseIterate<KeyT>())
 1249     const KeyT Empty = KeyInfoT::getEmptyKey();
 1250     const KeyT Tombstone = KeyInfoT::getTombstoneKey();
 1259     const KeyT Empty = KeyInfoT::getEmptyKey();
 1260     const KeyT Tombstone = KeyInfoT::getTombstoneKey();
include/llvm/ADT/DenseMapInfo.h
  186   using Pair = std::pair<T, U>;
  188   using SecondInfo = DenseMapInfo<U>;
include/llvm/ADT/DenseSet.h
   35   KeyT key;
   38   KeyT &getFirst() { return key; }
   39   const KeyT &getFirst() const { return key; }
   55   static_assert(sizeof(typename MapTy::value_type) == sizeof(ValueT),
   63   using key_type = ValueT;
   64   using value_type = ValueT;
   69   DenseSetImpl(std::initializer_list<ValueT> Elems)
   91   size_type count(const_arg_type_t<ValueT> V) const {
   95   bool erase(const ValueT &V) {
  112     using value_type = ValueT;
  120     ValueT &operator*() { return I->getFirst(); }
  121     const ValueT &operator*() const { return I->getFirst(); }
  122     ValueT *operator->() { return &I->getFirst(); }
  123     const ValueT *operator->() const { return &I->getFirst(); }
  165   iterator find(const_arg_type_t<ValueT> V) { return Iterator(TheMap.find(V)); }
  166   const_iterator find(const_arg_type_t<ValueT> V) const {
  187   std::pair<iterator, bool> insert(const ValueT &V) {
  192   std::pair<iterator, bool> insert(ValueT &&V) {
  200   std::pair<iterator, bool> insert_as(const ValueT &V,
  205   std::pair<iterator, bool> insert_as(ValueT &&V, const LookupKeyT &LookupKey) {
  250                      ValueT, DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
  250                      ValueT, DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
  251                                       detail::DenseSetPair<ValueT>>,
  254       detail::DenseSetImpl<ValueT,
  255                            DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
  256                                     detail::DenseSetPair<ValueT>>,
include/llvm/ADT/FoldingSet.h
  221   static void Profile(const T &X, FoldingSetNodeID &ID) {
  224   static void Profile(T &X, FoldingSetNodeID &ID) {
  232   static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
  240   static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
  250   : public DefaultFoldingSetTrait<T> {};
  329   inline void Add(const T &x) { FoldingSetTrait<T>::Profile(x, *this); }
  329   inline void Add(const T &x) { FoldingSetTrait<T>::Profile(x, *this); }
include/llvm/ADT/MapVector.h
   83   std::pair<KeyT, ValueT>       &front()       { return Vector.front(); }
   84   const std::pair<KeyT, ValueT> &front() const { return Vector.front(); }
   85   std::pair<KeyT, ValueT>       &back()        { return Vector.back(); }
   86   const std::pair<KeyT, ValueT> &back()  const { return Vector.back(); }
   98   ValueT &operator[](const KeyT &Key) {
  110   ValueT lookup(const KeyT &Key) const {
  117   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  129   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  233     : MapVector<KeyT, ValueT, SmallDenseMap<KeyT, unsigned, N>,
  234                 SmallVector<std::pair<KeyT, ValueT>, N>> {
include/llvm/ADT/Optional.h
  144     T value;
  160   explicit OptionalStorage(in_place_t, Args &&... args)
  161       : value(std::forward<Args>(args)...), hasVal(true) {}
  172   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
  176   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
  181   T &&getValue() && noexcept {
  206       ::new ((void *)std::addressof(value)) T(std::move(y));
  216   optional_detail::OptionalStorage<T> Storage;
  219   using value_type = T;
  224   Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
  227   Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
  230   Optional &operator=(T &&y) {
  241   static inline Optional create(const T *y) {
  245   Optional &operator=(const T &y) {
  253   const T *getPointer() const { return &Storage.getValue(); }
  254   T *getPointer() { return &Storage.getValue(); }
  255   const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  256   T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  260   const T *operator->() const { return getPointer(); }
  261   T *operator->() { return getPointer(); }
  262   const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
  263   T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  267     return hasValue() ? getValue() : std::forward<U>(value);
  271   T &&getValue() && { return std::move(Storage.getValue()); }
  272   T &&operator*() && { return std::move(Storage.getValue()); }
  275   T getValueOr(U &&value) && {
  275   T getValueOr(U &&value) && {
  316 bool operator==(const Optional<T> &X, NoneType) {
include/llvm/ADT/STLExtras.h
  108   Ret (*callback)(intptr_t callable, Params ...params) = nullptr;
  112   static Ret callback_fn(intptr_t callable, Params ...params) {
  129   Ret operator()(Params ...params) const {
  211              typename std::remove_reference<FuncReturnTy>::type> {
  218   FuncReturnTy operator*() { return F(*this->I); }
 1023 constexpr inline size_t array_lengthof(T (&)[N]) {
include/llvm/ADT/SetVector.h
   42   using value_type = T;
   43   using key_type = T;
   44   using reference = T&;
   45   using const_reference = const T&;
   63   ArrayRef<T> getArrayRef() const { return vector_; }
  122   const T &front() const {
  128   const T &back() const {
  227   LLVM_NODISCARD T pop_back_val() {
include/llvm/ADT/SmallPtrSet.h
  268   using PtrTraits = PointerLikeTypeTraits<PtrTy>;
  271   using value_type = PtrTy;
  272   using reference = PtrTy;
  273   using pointer = PtrTy;
  283   const PtrTy operator*() const {
  344   using ConstPtrType = typename add_const_past_pointer<PtrType>::type;
  345   using PtrTraits = PointerLikeTypeTraits<PtrType>;
  359   using iterator = SmallPtrSetIterator<PtrType>;
  360   using const_iterator = SmallPtrSetIterator<PtrType>;
  362   using value_type = PtrType;
  370   std::pair<iterator, bool> insert(PtrType Ptr) {
  377   bool erase(PtrType Ptr) {
  392   void insert(std::initializer_list<PtrType> IL) {
  417 class SmallPtrSet : public SmallPtrSetImpl<PtrType> {
  423   using BaseT = SmallPtrSetImpl<PtrType>;
  441   SmallPtrSet(std::initializer_list<PtrType> IL)
  446   SmallPtrSet<PtrType, SmallSize> &
  447   operator=(const SmallPtrSet<PtrType, SmallSize> &RHS) {
  453   SmallPtrSet<PtrType, SmallSize> &
  454   operator=(SmallPtrSet<PtrType, SmallSize> &&RHS) {
  460   SmallPtrSet<PtrType, SmallSize> &
  461   operator=(std::initializer_list<PtrType> IL) {
  468   void swap(SmallPtrSet<PtrType, SmallSize> &RHS) {
include/llvm/ADT/SmallVector.h
   75   AlignedCharArrayUnion<T> FirstEl;
  114   using value_type = T;
  115   using iterator = T *;
  116   using const_iterator = const T *;
  121   using reference = T &;
  122   using const_reference = const T &;
  123   using pointer = T *;
  124   using const_pointer = const T *;
  259 class SmallVectorTemplateBase<T, true> : public SmallVectorTemplateCommon<T> {
  264   static void destroy_range(T *, T *) {}
  264   static void destroy_range(T *, T *) {}
  286       T1 *I, T1 *E, T2 *Dest,
  286       T1 *I, T1 *E, T2 *Dest,
  286       T1 *I, T1 *E, T2 *Dest,
  287       typename std::enable_if<std::is_same<typename std::remove_const<T1>::type,
  288                                            T2>::value>::type * = nullptr) {
  294       memcpy(reinterpret_cast<void *>(Dest), I, (E - I) * sizeof(T));
  299   void grow(size_t MinSize = 0) { this->grow_pod(MinSize, sizeof(T)); }
  302   void push_back(const T &Elt) {
  305     memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
  315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
  316   using SuperClass = SmallVectorTemplateBase<T>;
  352         new (&*I) T();
  357   void resize(size_type N, const T &NV) {
  374   LLVM_NODISCARD T pop_back_val() {
  397   void append(size_type NumInputs, const T &Elt) {
  405   void append(std::initializer_list<T> IL) {
  412   void assign(size_type NumElts, const T &Elt) {
  429   void assign(std::initializer_list<T> IL) {
  467   iterator insert(iterator I, T &&Elt) {
  497   iterator insert(iterator I, const T &Elt) {
  526   iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
  606       T *OldEnd = this->end();
  621     T *OldEnd = this->end();
  627     for (T *J = I; NumOverwritten > 0; --NumOverwritten) {
  637   void insert(iterator I, std::initializer_list<T> IL) {
  641   template <typename... ArgTypes> reference emplace_back(ArgTypes &&... Args) {
  644     ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
  644     ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
  820   AlignedCharArrayUnion<T> InlineElts[N];
  837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
  837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
  846   explicit SmallVector(size_t Size, const T &Value = T())
  865   SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
  884   SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/ADT/StringSwitch.h
   48   Optional<T> Result;
   67   StringSwitch &Case(StringLiteral S, T Value) {
   74   StringSwitch& EndsWith(StringLiteral S, T Value) {
   81   StringSwitch& StartsWith(StringLiteral S, T Value) {
   88   StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
   93                       T Value) {
   98                       StringLiteral S3, T Value) {
  103                       StringLiteral S3, StringLiteral S4, T Value) {
  109                       T Value) {
  115                       StringLiteral S6, T Value) {
  121                       StringLiteral S6, StringLiteral S7, T Value) {
  128                       T Value) {
  135                       StringLiteral S9, T Value) {
  140   StringSwitch &CaseLower(StringLiteral S, T Value) {
  147   StringSwitch &EndsWithLower(StringLiteral S, T Value) {
  154   StringSwitch &StartsWithLower(StringLiteral S, T Value) {
  161   StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, T Value) {
  166                            T Value) {
  171                            StringLiteral S3, T Value) {
  176                            StringLiteral S3, StringLiteral S4, T Value) {
  181   R Default(T Value) {
  181   R Default(T Value) {
  188   operator R() {
include/llvm/ADT/iterator.h
   68     : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT,
  206     : public iterator_facade_base<DerivedT, IteratorCategoryT, T,
include/llvm/Support/AlignOf.h
   24   T t;
   25   AlignerImpl<Ts...> rest;
   30   T t;
   35   char arr[sizeof(T)];
   36   SizerImpl<Ts...> rest;
   39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
   50       llvm::detail::SizerImpl<T, Ts...>)];
   50       llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/Alignment.h
  103     return Constant<std::alignment_of<T>::value>();
include/llvm/Support/Casting.h
   41   using NonConstSimpleType = typename simplify_type<From>::SimpleType;
   47   static RetType getSimplifiedValue(const From& Val) {
   48     return simplify_type<From>::getSimplifiedValue(const_cast<From&>(Val));
  141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
  142   return isa_impl_wrap<X, const Y,
  143                        typename simplify_type<const Y>::SimpleType>::doit(Val);
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  221                           simplify_type<From>::getSimplifiedValue(Val));
  236       std::is_same<X, typename simplify_type<X>::SimpleType>::value;
  236       std::is_same<X, typename simplify_type<X>::SimpleType>::value;
  247 inline typename std::enable_if<!is_simple_type<Y>::value,
  248                                typename cast_retty<X, const Y>::ret_type>::type
  249 cast(const Y &Val) {
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  259                           typename simplify_type<Y>::SimpleType>::doit(Val);
  330     typename std::enable_if<!is_simple_type<Y>::value,
  331                             typename cast_retty<X, const Y>::ret_type>::type
  332     dyn_cast(const Y &Val) {
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
include/llvm/Support/Error.h
  437   static const bool isRef = std::is_reference<T>::value;
  439   using wrap = std::reference_wrapper<typename std::remove_reference<T>::type>;
  444   using storage_type = typename std::conditional<isRef, wrap, T>::type;
  445   using value_type = T;
  448   using reference = typename std::remove_reference<T>::type &;
  449   using const_reference = const typename std::remove_reference<T>::type &;
  450   using pointer = typename std::remove_reference<T>::type *;
  451   using const_pointer = const typename std::remove_reference<T>::type *;
  474   Expected(OtherT &&Val,
  475            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  475            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  483     new (getStorage()) storage_type(std::forward<OtherT>(Val));
  492   Expected(Expected<OtherT> &&Other,
  493            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  493            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  594   template <class OtherT> void moveConstruct(Expected<OtherT> &&Other) {
include/llvm/Support/PointerLikeTypeTraits.h
   78   typedef PointerLikeTypeTraits<T> NonConst;
   80   static inline const void *getAsVoidPointer(const T P) {
   83   static inline const T getFromVoidPointer(const void *P) {
include/llvm/Support/TrailingObjects.h
   65     FirstAlignment = alignof(First),
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  161   static const NextTy *
  163                          TrailingObjectsBase::OverloadToken<NextTy>) {
  171           alignAddr(Ptr, Align::Of<NextTy>()));
  176   static NextTy *
  178                          TrailingObjectsBase::OverloadToken<NextTy>) {
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  185       return reinterpret_cast<NextTy *>(alignAddr(Ptr, Align::Of<NextTy>()));
  197         (requiresRealignment() ? llvm::alignTo<alignof(NextTy)>(SizeSoFar)
  199             sizeof(NextTy) * Count1,
  231                                 TrailingTys...>::Alignment,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  241       trailing_objects_internal::AlignmentCalcHelper<TrailingTys...>::Alignment,
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  284                                        TrailingObjectsBase::OverloadToken<T>) {
  302   template <typename T> const T *getTrailingObjects() const {
  314   template <typename T> T *getTrailingObjects() {
  332                         TrailingTys, size_t>::type... Counts) {
  342       std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
  342       std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
  344                    TrailingTys, size_t>::type... Counts) {
include/llvm/Support/type_traits.h
   55 struct add_const_past_pointer { using type = const T; };
   65   using type = const T &;
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
tools/clang/include/clang/AST/APValue.h
  147     static LValueBase getDynamicAlloc(DynamicAllocLValue LV, QualType Type);
  148     static LValueBase getTypeInfo(TypeInfoLValue LV, QualType TypeInfo);
  167     QualType getTypeInfoType() const;
  168     QualType getDynamicAllocType() const;
  377   void printPretty(raw_ostream &OS, const ASTContext &Ctx, QualType Ty) const;
  378   std::string getAsString(const ASTContext &Ctx, QualType Ty) const;
  391   bool toIntegralConstant(APSInt &Result, QualType SrcTy,
tools/clang/include/clang/AST/ASTContext.h
  342   QualType ObjCIdRedefinitionType;
  343   QualType ObjCClassRedefinitionType;
  344   QualType ObjCSelRedefinitionType;
  361   QualType ObjCConstantStringType;
  365   mutable QualType ObjCSuperType;
  367   QualType ObjCNSStringType;
  688   template <typename T> T *Allocate(size_t Num = 1) const {
  689     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
  689     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
  713   QualType getIntTypeForBitwidth(unsigned DestWidth,
  719   QualType getRealTypeForBitwidth(unsigned DestWidth) const;
 1063   mutable QualType AutoDeductTy;     // Deduction against 'auto'.
 1064   mutable QualType AutoRRefDeductTy; // Deduction against 'auto &&'.
 1114   TypedefDecl *buildImplicitTypedef(QualType T, StringRef Name) const;
 1128   QualType getExtQualType(const Type *Base, Qualifiers Quals) const;
 1130   QualType getTypeDeclTypeSlow(const TypeDecl *Decl) const;
 1132   QualType getPipeType(QualType T, bool ReadOnly) const;
 1132   QualType getPipeType(QualType T, bool ReadOnly) const;
 1141   QualType getAddrSpaceQualType(QualType T, LangAS AddressSpace) const;
 1141   QualType getAddrSpaceQualType(QualType T, LangAS AddressSpace) const;
 1148   QualType removeAddrSpaceQualType(QualType T) const;
 1148   QualType removeAddrSpaceQualType(QualType T) const;
 1154   QualType applyObjCProtocolQualifiers(QualType type,
 1154   QualType applyObjCProtocolQualifiers(QualType type,
 1163   QualType getObjCGCQualType(QualType T, Qualifiers::GC gcAttr) const;
 1163   QualType getObjCGCQualType(QualType T, Qualifiers::GC gcAttr) const;
 1170   QualType getRestrictType(QualType T) const {
 1170   QualType getRestrictType(QualType T) const {
 1179   QualType getVolatileType(QualType T) const {
 1179   QualType getVolatileType(QualType T) const {
 1190   QualType getConstType(QualType T) const { return T.withConst(); }
 1190   QualType getConstType(QualType T) const { return T.withConst(); }
 1197   CanQualType getCanonicalFunctionResultType(QualType ResultType) const;
 1200   void adjustDeducedFunctionResultType(FunctionDecl *FD, QualType ResultType);
 1206   QualType getFunctionTypeWithExceptionSpec(
 1207       QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI);
 1211   bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U);
 1211   bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U);
 1221   QualType getComplexType(QualType T) const;
 1221   QualType getComplexType(QualType T) const;
 1228   QualType getPointerType(QualType T) const;
 1228   QualType getPointerType(QualType T) const;
 1235   QualType getAdjustedType(QualType Orig, QualType New) const;
 1235   QualType getAdjustedType(QualType Orig, QualType New) const;
 1235   QualType getAdjustedType(QualType Orig, QualType New) const;
 1244   QualType getDecayedType(QualType T) const;
 1244   QualType getDecayedType(QualType T) const;
 1251   QualType getAtomicType(QualType T) const;
 1251   QualType getAtomicType(QualType T) const;
 1255   QualType getBlockPointerType(QualType T) const;
 1255   QualType getBlockPointerType(QualType T) const;
 1259   QualType getBlockDescriptorType() const;
 1262   QualType getReadPipeType(QualType T) const;
 1262   QualType getReadPipeType(QualType T) const;
 1265   QualType getWritePipeType(QualType T) const;
 1265   QualType getWritePipeType(QualType T) const;
 1269   QualType getBlockDescriptorExtendedType() const;
 1286   bool BlockRequiresCopying(QualType Ty, const VarDecl *D);
 1291   bool getByrefLifetime(QualType Ty,
 1297   QualType getLValueReferenceType(QualType T, bool SpelledAsLValue = true)
 1297   QualType getLValueReferenceType(QualType T, bool SpelledAsLValue = true)
 1302   QualType getRValueReferenceType(QualType T) const;
 1302   QualType getRValueReferenceType(QualType T) const;
 1308   QualType getMemberPointerType(QualType T, const Type *Cls) const;
 1308   QualType getMemberPointerType(QualType T, const Type *Cls) const;
 1312   QualType getVariableArrayType(QualType EltTy, Expr *NumElts,
 1312   QualType getVariableArrayType(QualType EltTy, Expr *NumElts,
 1322   QualType getDependentSizedArrayType(QualType EltTy, Expr *NumElts,
 1322   QualType getDependentSizedArrayType(QualType EltTy, Expr *NumElts,
 1329   QualType getIncompleteArrayType(QualType EltTy,
 1329   QualType getIncompleteArrayType(QualType EltTy,
 1335   QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize,
 1335   QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize,
 1342   QualType getStringLiteralArrayType(QualType EltTy, unsigned Length) const;
 1342   QualType getStringLiteralArrayType(QualType EltTy, unsigned Length) const;
 1345   QualType getVariableArrayDecayedType(QualType Ty) const;
 1345   QualType getVariableArrayDecayedType(QualType Ty) const;
 1351   QualType getVectorType(QualType VectorType, unsigned NumElts,
 1351   QualType getVectorType(QualType VectorType, unsigned NumElts,
 1355   QualType getDependentVectorType(QualType VectorType, Expr *SizeExpr,
 1355   QualType getDependentVectorType(QualType VectorType, Expr *SizeExpr,
 1363   QualType getExtVectorType(QualType VectorType, unsigned NumElts) const;
 1363   QualType getExtVectorType(QualType VectorType, unsigned NumElts) const;
 1370   QualType getDependentSizedExtVectorType(QualType VectorType,
 1370   QualType getDependentSizedExtVectorType(QualType VectorType,
 1374   QualType getDependentAddressSpaceType(QualType PointeeType,
 1374   QualType getDependentAddressSpaceType(QualType PointeeType,
 1379   QualType getFunctionNoProtoType(QualType ResultTy,
 1379   QualType getFunctionNoProtoType(QualType ResultTy,
 1382   QualType getFunctionNoProtoType(QualType ResultTy) const {
 1382   QualType getFunctionNoProtoType(QualType ResultTy) const {
 1387   QualType getFunctionType(QualType ResultTy, ArrayRef<QualType> Args,
 1387   QualType getFunctionType(QualType ResultTy, ArrayRef<QualType> Args,
 1387   QualType getFunctionType(QualType ResultTy, ArrayRef<QualType> Args,
 1392   QualType adjustStringLiteralBaseType(QualType StrLTy) const;
 1392   QualType adjustStringLiteralBaseType(QualType StrLTy) const;
 1396   QualType getFunctionTypeInternal(QualType ResultTy, ArrayRef<QualType> Args,
 1396   QualType getFunctionTypeInternal(QualType ResultTy, ArrayRef<QualType> Args,
 1396   QualType getFunctionTypeInternal(QualType ResultTy, ArrayRef<QualType> Args,
 1403   QualType getTypeDeclType(const TypeDecl *Decl,
 1419   QualType getTypedefType(const TypedefNameDecl *Decl,
 1420                           QualType Canon = QualType()) const;
 1422   QualType getRecordType(const RecordDecl *Decl) const;
 1424   QualType getEnumType(const EnumDecl *Decl) const;
 1426   QualType getInjectedClassNameType(CXXRecordDecl *Decl, QualType TST) const;
 1426   QualType getInjectedClassNameType(CXXRecordDecl *Decl, QualType TST) const;
 1428   QualType getAttributedType(attr::Kind attrKind,
 1429                              QualType modifiedType,
 1430                              QualType equivalentType);
 1432   QualType getSubstTemplateTypeParmType(const TemplateTypeParmType *Replaced,
 1433                                         QualType Replacement) const;
 1434   QualType getSubstTemplateTypeParmPackType(
 1438   QualType
 1443   QualType getTemplateSpecializationType(TemplateName T,
 1445                                          QualType Canon = QualType()) const;
 1447   QualType
 1451   QualType getTemplateSpecializationType(TemplateName T,
 1453                                          QualType Canon = QualType()) const;
 1458                                     QualType Canon = QualType()) const;
 1460   QualType getParenType(QualType NamedType) const;
 1460   QualType getParenType(QualType NamedType) const;
 1462   QualType getMacroQualifiedType(QualType UnderlyingTy,
 1462   QualType getMacroQualifiedType(QualType UnderlyingTy,
 1465   QualType getElaboratedType(ElaboratedTypeKeyword Keyword,
 1466                              NestedNameSpecifier *NNS, QualType NamedType,
 1468   QualType getDependentNameType(ElaboratedTypeKeyword Keyword,
 1471                                 QualType Canon = QualType()) const;
 1473   QualType getDependentTemplateSpecializationType(ElaboratedTypeKeyword Keyword,
 1477   QualType getDependentTemplateSpecializationType(
 1489   QualType getPackExpansionType(QualType Pattern,
 1489   QualType getPackExpansionType(QualType Pattern,
 1492   QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl,
 1496   QualType getObjCObjectType(QualType Base,
 1496   QualType getObjCObjectType(QualType Base,
 1500   QualType getObjCObjectType(QualType Base,
 1500   QualType getObjCObjectType(QualType Base,
 1501                              ArrayRef<QualType> typeArgs,
 1505   QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl,
 1508   bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl);
 1513   bool QIdProtocolsAdoptObjCObjectProtocols(QualType QT,
 1517   QualType getObjCObjectPointerType(QualType OIT) const;
 1517   QualType getObjCObjectPointerType(QualType OIT) const;
 1520   QualType getTypeOfExprType(Expr *e) const;
 1521   QualType getTypeOfType(QualType t) const;
 1521   QualType getTypeOfType(QualType t) const;
 1524   QualType getDecltypeType(Expr *e, QualType UnderlyingType) const;
 1524   QualType getDecltypeType(Expr *e, QualType UnderlyingType) const;
 1527   QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType,
 1527   QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType,
 1527   QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType,
 1531   QualType getAutoType(QualType DeducedType, AutoTypeKeyword Keyword,
 1531   QualType getAutoType(QualType DeducedType, AutoTypeKeyword Keyword,
 1535   QualType getAutoDeductType() const;
 1538   QualType getAutoRRefDeductType() const;
 1541   QualType getDeducedTemplateSpecializationType(TemplateName Template,
 1542                                                 QualType DeducedType,
 1547   QualType getTagDeclType(const TagDecl *Decl) const;
 1569   QualType getWCharType() const { return WCharTy; }
 1574   QualType getWideCharType() const { return WideCharTy; }
 1579   QualType getSignedWCharType() const;
 1584   QualType getUnsignedWCharType() const;
 1588   QualType getWIntType() const { return WIntTy; }
 1592   QualType getIntPtrType() const;
 1596   QualType getUIntPtrType() const;
 1600   QualType getPointerDiffType() const;
 1605   QualType getUnsignedPointerDiffType() const;
 1609   QualType getProcessIDType() const;
 1612   QualType getCFConstantStringType() const;
 1615   QualType getObjCSuperType() const;
 1616   void setObjCSuperType(QualType ST) { ObjCSuperType = ST; }
 1620   QualType getRawCFConstantStringType() const {
 1625   void setCFConstantStringType(QualType T);
 1631   QualType getObjCConstantStringInterface() const {
 1635   QualType getObjCNSStringType() const {
 1639   void setObjCNSStringType(QualType T) {
 1645   QualType getObjCIdRedefinitionType() const {
 1652   void setObjCIdRedefinitionType(QualType RedefType) {
 1658   QualType getObjCClassRedefinitionType() const {
 1665   void setObjCClassRedefinitionType(QualType RedefType) {
 1671   QualType getObjCSelRedefinitionType() const {
 1678   void setObjCSelRedefinitionType(QualType RedefType) {
 1739   QualType getObjCInstanceType() {
 1751   QualType getFILEType() const {
 1763   QualType getjmp_bufType() const {
 1775   QualType getsigjmp_bufType() const {
 1787   QualType getucontext_tType() const {
 1794   QualType getLogicalOperationType() const {
 1802   void getObjCEncodingForType(QualType T, std::string &S,
 1804                               QualType *NotEncodedT=nullptr) const;
 1808   void getObjCEncodingForPropertyType(QualType T, std::string &S) const;
 1810   void getLegacyIntegralTypeEncoding(QualType &t) const;
 1848   CharUnits getObjCEncodingTypeSize(QualType T) const;
 1858   QualType getObjCIdType() const {
 1868   QualType getObjCSelType() const {
 1880   QualType getObjCClassType() const {
 1899   QualType getBOOLType() const {
 1904   QualType getObjCProtoType() const {
 1913   QualType getBuiltinVaListType() const {
 1927   QualType getBuiltinMSVaListType() const {
 1937   QualType getCVRQualifiedType(QualType T, unsigned CVR) const {
 1937   QualType getCVRQualifiedType(QualType T, unsigned CVR) const {
 1942   QualType getQualifiedType(SplitQualType split) const {
 1947   QualType getQualifiedType(QualType T, Qualifiers Qs) const {
 1947   QualType getQualifiedType(QualType T, Qualifiers Qs) const {
 1956   QualType getQualifiedType(const Type *T, Qualifiers Qs) const {
 1965   QualType getLifetimeQualifiedType(QualType type,
 1965   QualType getLifetimeQualifiedType(QualType type,
 1977   QualType getUnqualifiedObjCPointerType(QualType type) const {
 1977   QualType getUnqualifiedObjCPointerType(QualType type) const {
 1986   unsigned char getFixedPointScale(QualType Ty) const;
 1987   unsigned char getFixedPointIBits(QualType Ty) const;
 1988   FixedPointSemantics getFixedPointSemantics(QualType Ty) const;
 1989   APFixedPoint getFixedPointMax(QualType Ty) const;
 1990   APFixedPoint getFixedPointMin(QualType Ty) const;
 2034   QualType GetBuiltinType(unsigned ID, GetBuiltinTypeError &Error,
 2052   Qualifiers::GC getObjCGCAttrKind(QualType Ty) const;
 2059   bool areCompatibleVectorTypes(QualType FirstVec, QualType SecondVec);
 2059   bool areCompatibleVectorTypes(QualType FirstVec, QualType SecondVec);
 2064   bool hasDirectOwnershipQualifier(QualType Ty) const;
 2068   static bool isObjCNSObjectType(QualType Ty) {
 2078   const llvm::fltSemantics &getFloatTypeSemantics(QualType T) const;
 2082   TypeInfo getTypeInfo(QualType T) const { return getTypeInfo(T.getTypePtr()); }
 2085   unsigned getOpenMPDefaultSimdAlign(QualType T) const;
 2088   uint64_t getTypeSize(QualType T) const { return getTypeInfo(T).Width; }
 2104   CharUnits getTypeSizeInChars(QualType T) const;
 2107   Optional<CharUnits> getTypeSizeInCharsIfKnown(QualType Ty) const {
 2119   unsigned getTypeAlign(QualType T) const { return getTypeInfo(T).Align; }
 2127   unsigned getTypeUnadjustedAlign(QualType T) const {
 2135   unsigned getTypeAlignIfKnown(QualType T) const;
 2139   CharUnits getTypeAlignInChars(QualType T) const;
 2145   CharUnits getTypeUnadjustedAlignInChars(QualType T) const;
 2150   std::pair<CharUnits, CharUnits> getTypeInfoDataSizeInChars(QualType T) const;
 2153   std::pair<CharUnits, CharUnits> getTypeInfoInChars(QualType T) const;
 2158   bool isAlignmentRequired(QualType T) const;
 2173   unsigned getAlignOfGlobalVar(QualType T) const;
 2177   CharUnits getAlignOfGlobalVarInChars(QualType T) const;
 2275   bool hasUniqueObjectRepresentations(QualType Ty) const;
 2289   CanQualType getCanonicalType(QualType T) const {
 2302   CanQualType getCanonicalParamType(QualType T) const;
 2305   bool hasSameType(QualType T1, QualType T2) const {
 2305   bool hasSameType(QualType T1, QualType T2) const {
 2325   QualType getUnqualifiedArrayType(QualType T, Qualifiers &Quals);
 2325   QualType getUnqualifiedArrayType(QualType T, Qualifiers &Quals);
 2329   bool hasSameUnqualifiedType(QualType T1, QualType T2) const {
 2329   bool hasSameUnqualifiedType(QualType T1, QualType T2) const {
 2334   bool hasSameNullabilityTypeQualifier(QualType SubT, QualType SuperT,
 2334   bool hasSameNullabilityTypeQualifier(QualType SubT, QualType SuperT,
 2367   bool UnwrapSimilarTypes(QualType &T1, QualType &T2);
 2367   bool UnwrapSimilarTypes(QualType &T1, QualType &T2);
 2368   bool UnwrapSimilarArrayTypes(QualType &T1, QualType &T2);
 2368   bool UnwrapSimilarArrayTypes(QualType &T1, QualType &T2);
 2377   bool hasSimilarType(QualType T1, QualType T2);
 2377   bool hasSimilarType(QualType T1, QualType T2);
 2380   bool hasCvrSimilarType(QualType T1, QualType T2);
 2380   bool hasCvrSimilarType(QualType T1, QualType T2);
 2449   const ArrayType *getAsArrayType(QualType T) const;
 2450   const ConstantArrayType *getAsConstantArrayType(QualType T) const {
 2453   const VariableArrayType *getAsVariableArrayType(QualType T) const {
 2456   const IncompleteArrayType *getAsIncompleteArrayType(QualType T) const {
 2459   const DependentSizedArrayType *getAsDependentSizedArrayType(QualType T)
 2467   QualType getBaseElementType(const ArrayType *VAT) const;
 2471   QualType getBaseElementType(QualType QT) const;
 2471   QualType getBaseElementType(QualType QT) const;
 2481   QualType getAdjustedParameterType(QualType T) const;
 2481   QualType getAdjustedParameterType(QualType T) const;
 2486   QualType getSignatureParameterType(QualType T) const;
 2486   QualType getSignatureParameterType(QualType T) const;
 2488   QualType getExceptionObjectType(QualType T) const;
 2488   QualType getExceptionObjectType(QualType T) const;
 2498   QualType getArrayDecayedType(QualType T) const;
 2498   QualType getArrayDecayedType(QualType T) const;
 2502   QualType getPromotedIntegerType(QualType PromotableType) const;
 2502   QualType getPromotedIntegerType(QualType PromotableType) const;
 2506   Qualifiers::ObjCLifetime getInnerObjCOwnership(QualType T) const;
 2513   QualType isPromotableBitField(Expr *E) const;
 2519   int getIntegerTypeOrder(QualType LHS, QualType RHS) const;
 2519   int getIntegerTypeOrder(QualType LHS, QualType RHS) const;
 2526   int getFloatingTypeOrder(QualType LHS, QualType RHS) const;
 2526   int getFloatingTypeOrder(QualType LHS, QualType RHS) const;
 2531   int getFloatingTypeSemanticOrder(QualType LHS, QualType RHS) const;
 2531   int getFloatingTypeSemanticOrder(QualType LHS, QualType RHS) const;
 2538   QualType getFloatingTypeOfSizeWithinDomain(QualType typeSize,
 2538   QualType getFloatingTypeOfSizeWithinDomain(QualType typeSize,
 2539                                              QualType typeDomain) const;
 2541   unsigned getTargetAddressSpace(QualType T) const {
 2555   uint64_t getTargetNullPointerValue(QualType QT) const;
 2571   bool typesAreCompatible(QualType T1, QualType T2,
 2571   bool typesAreCompatible(QualType T1, QualType T2,
 2574   bool propertyTypesAreCompatible(QualType, QualType);
 2574   bool propertyTypesAreCompatible(QualType, QualType);
 2575   bool typesAreBlockPointerCompatible(QualType, QualType);
 2575   bool typesAreBlockPointerCompatible(QualType, QualType);
 2577   bool isObjCIdType(QualType T) const {
 2581   bool isObjCClassType(QualType T) const {
 2585   bool isObjCSelType(QualType T) const {
 2605   bool areComparableObjCPointerTypes(QualType LHS, QualType RHS);
 2605   bool areComparableObjCPointerTypes(QualType LHS, QualType RHS);
 2606   QualType areCommonBaseCompatible(const ObjCObjectPointerType *LHSOPT,
 2608   bool canBindObjCObjectType(QualType To, QualType From);
 2608   bool canBindObjCObjectType(QualType To, QualType From);
 2611   QualType mergeTypes(QualType, QualType, bool OfBlockPointer=false,
 2611   QualType mergeTypes(QualType, QualType, bool OfBlockPointer=false,
 2611   QualType mergeTypes(QualType, QualType, bool OfBlockPointer=false,
 2613   QualType mergeFunctionTypes(QualType, QualType, bool OfBlockPointer=false,
 2613   QualType mergeFunctionTypes(QualType, QualType, bool OfBlockPointer=false,
 2613   QualType mergeFunctionTypes(QualType, QualType, bool OfBlockPointer=false,
 2615   QualType mergeFunctionParameterTypes(QualType, QualType,
 2615   QualType mergeFunctionParameterTypes(QualType, QualType,
 2615   QualType mergeFunctionParameterTypes(QualType, QualType,
 2618   QualType mergeTransparentUnionType(QualType, QualType,
 2618   QualType mergeTransparentUnionType(QualType, QualType,
 2618   QualType mergeTransparentUnionType(QualType, QualType,
 2622   QualType mergeObjCGCQualifiers(QualType, QualType);
 2622   QualType mergeObjCGCQualifiers(QualType, QualType);
 2622   QualType mergeObjCGCQualifiers(QualType, QualType);
 2657   unsigned getIntWidth(QualType T) const;
 2665   QualType getCorrespondingUnsignedType(QualType T) const;
 2665   QualType getCorrespondingUnsignedType(QualType T) const;
 2669   QualType getCorrespondingSaturatedType(QualType Ty) const;
 2669   QualType getCorrespondingSaturatedType(QualType Ty) const;
 2675   QualType getCorrespondingSignedFixedPointType(QualType Ty) const;
 2675   QualType getCorrespondingSignedFixedPointType(QualType Ty) const;
 2683   llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) const {
 2749   TypeSourceInfo *CreateTypeSourceInfo(QualType T, unsigned Size = 0) const;
 2755   getTrivialTypeSourceInfo(QualType T,
 2940   void getObjCEncodingForTypeImpl(QualType t, std::string &S,
 2943                                   QualType *NotEncodedT = nullptr) const;
 2949                                        QualType *NotEncodedT=nullptr) const;
 2954                                          QualType T, std::string& S,
tools/clang/include/clang/AST/ASTImporter.h
  341     LLVM_NODISCARD llvm::Error importInto(ImportT &To, const ImportT &From) {
  341     LLVM_NODISCARD llvm::Error importInto(ImportT &To, const ImportT &From) {
  352     llvm::Expected<QualType> Import(QualType FromT);
  352     llvm::Expected<QualType> Import(QualType FromT);
  588     bool IsStructurallyEquivalent(QualType From, QualType To,
  588     bool IsStructurallyEquivalent(QualType From, QualType To,
tools/clang/include/clang/AST/ASTMutationListener.h
   80   virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType);
tools/clang/include/clang/AST/ASTNodeTraverser.h
  120   void Visit(QualType T) {
  138       QualType SingleStepDesugar =
  214     else if (const auto *QT = N.get<QualType>())
  214     else if (const auto *QT = N.get<QualType>())
  306     for (const QualType &PT : T->getParamTypes())
tools/clang/include/clang/AST/ASTStructuralEquivalence.h
   98   bool IsEquivalent(QualType T1, QualType T2);
   98   bool IsEquivalent(QualType T1, QualType T2);
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  296     if (ASTNodeKind::getFromNodeKind<QualType>().isSame(NodeKind))
  297       return getUnchecked<QualType>().getAsOpaquePtr() <
  298              Other.getUnchecked<QualType>().getAsOpaquePtr();
  329     if (ASTNodeKind::getFromNodeKind<QualType>().isSame(NodeKind))
  330       return getUnchecked<QualType>() == Other.getUnchecked<QualType>();
  330       return getUnchecked<QualType>() == Other.getUnchecked<QualType>();
  434     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  435       if (ASTNodeKind::getFromNodeKind<T>().isSame(NodeKind))
  439     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  443     static DynTypedNode create(const T &Node) {
  445       Result.NodeKind = ASTNodeKind::getFromNodeKind<T>();
  446       new (Result.Storage.buffer) T(Node);
  462                               NestedNameSpecifierLoc, QualType,
  509                                    void> : public ValueConverter<QualType> {};
tools/clang/include/clang/AST/CXXInheritance.h
  138   llvm::SmallDenseMap<QualType, IsVirtBaseAndNumberNonVirtBases, 8>
tools/clang/include/clang/AST/CanonicalType.h
   67   QualType Stored;
   92   operator QualType() const { return Stored; }
  161   QualType withConst() const {
  192   static CanQual<T> CreateUnsafe(QualType Other);
  633   Result.Stored = QualType::getFromOpaquePtr(Ptr);
  640 CanQual<T> CanQual<T>::CreateUnsafe(QualType Other) {
tools/clang/include/clang/AST/Comment.h
 1001   QualType ReturnType;
tools/clang/include/clang/AST/ComparisonCategories.h
  117   QualType getType() const;
  210   const ComparisonCategoryInfo &getInfoForType(QualType Ty) const;
  225   const ComparisonCategoryInfo *lookupInfoForType(QualType Ty) const;
tools/clang/include/clang/AST/DataCollection.h
   48 template <class T> void addDataToConsumer(T &DataConsumer, const QualType &QT) {
tools/clang/include/clang/AST/Decl.h
   92   QualType Ty;
   94   TypeSourceInfo(QualType ty) : Ty(ty) {}
   98   QualType getType() const { return Ty; }
  104   void overrideType(QualType T) { Ty = T; }
  646   QualType DeclType;
  652             DeclarationName N, QualType T)
  656   QualType getType() const { return DeclType; }
  657   void setType(QualType newType) { DeclType = newType; }
  716                  DeclarationName N, QualType T, TypeSourceInfo *TInfo,
  996           SourceLocation IdLoc, IdentifierInfo *Id, QualType T,
 1026                          IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo,
 1530   QualType::DestructionKind needsDestruction(const ASTContext &Ctx) const;
 1567                                    QualType T, ImplicitParamKind ParamKind);
 1568   static ImplicitParamDecl *Create(ASTContext &C, QualType T,
 1574                     IdentifierInfo *Id, QualType Type,
 1582   ImplicitParamDecl(ASTContext &C, QualType Type, ImplicitParamKind ParamKind)
 1608               SourceLocation IdLoc, IdentifierInfo *Id, QualType T,
 1622                              QualType T, TypeSourceInfo *TInfo,
 1735   QualType getOriginalType() const;
 1899                const DeclarationNameInfo &NameInfo, QualType T,
 1933          SourceLocation NLoc, DeclarationName N, QualType T,
 1945                               const DeclarationNameInfo &NameInfo, QualType T,
 2372   QualType getReturnType() const {
 2383   QualType getDeclaredReturnType() const {
 2385     QualType T = TSI ? TSI->getType() : getType();
 2392     QualType T = TSI ? TSI->getType() : getType();
 2402   QualType getCallResultType() const {
 2699             QualType T, TypeSourceInfo *TInfo, Expr *BW, bool Mutable,
 2714                            IdentifierInfo *Id, QualType T,
 2868                    IdentifierInfo *Id, QualType T, Expr *E,
 2877                                   QualType T, Expr *E,
 2907                     DeclarationName N, QualType T,
 2917                                    QualType T, llvm::MutableArrayRef<NamedDecl *> CH);
 2995     QualType second;
 3047   QualType getUnderlyingType() const {
 3058   void setModedTypeSourceInfo(TypeSourceInfo *unmodedTSI, QualType modedTy) {
 3426   QualType PromotionType;
 3519   void completeDefinition(QualType NewType,
 3520                           QualType PromotionType,
 3548   QualType getPromotionType() const { return PromotionType; }
 3551   void setPromotionType(QualType T) { PromotionType = T; }
 3556   QualType getIntegerType() const {
 3565   void setIntegerType(QualType T) { IntegerType = T.getTypePtrOrNull(); }
tools/clang/include/clang/AST/DeclCXX.h
  246   QualType getType() const {
 1853                         const DeclarationNameInfo &NameInfo, QualType T,
 1872          ExplicitSpecifier ES, const DeclarationNameInfo &NameInfo, QualType T,
 1911                 QualType T, TypeSourceInfo *TInfo, StorageClass SC,
 1923                                const DeclarationNameInfo &NameInfo, QualType T,
 2045   QualType getThisType() const;
 2050   QualType getThisObjectType() const;
 2052   static QualType getThisType(const FunctionProtoType *FPT,
 2055   static QualType getThisObjectType(const FunctionProtoType *FPT,
 2378                      const DeclarationNameInfo &NameInfo, QualType T,
 2431          const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo,
 2639                     const DeclarationNameInfo &NameInfo, QualType T,
 2653                                    QualType T, TypeSourceInfo *TInfo,
 2692                     const DeclarationNameInfo &NameInfo, QualType T,
 2710          const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo,
 2727   QualType getConversionType() const {
 3509   UnresolvedUsingValueDecl(DeclContext *DC, QualType Ty,
 3755   void setBinding(QualType DeclaredType, Expr *Binding) {
 3782                     SourceLocation LSquareLoc, QualType T,
 3803                                    QualType T, TypeSourceInfo *TInfo,
 3850                  QualType T, TypeSourceInfo *TInfo, SourceLocation StartL,
 3860                                 SourceLocation L, DeclarationName N, QualType T,
tools/clang/include/clang/AST/DeclObjC.h
  147   QualType MethodDeclType;
  172                  Selector SelInfo, QualType T, TypeSourceInfo *ReturnTInfo,
  232          Selector SelInfo, QualType T, TypeSourceInfo *ReturnTInfo,
  322   QualType getReturnType() const { return MethodDeclType; }
  323   void setReturnType(QualType T) { MethodDeclType = T; }
  330   QualType getSendResultType() const;
  334   QualType getSendResultType(QualType receiverType) const;
  334   QualType getSendResultType(QualType receiverType) const;
  388     QualType operator()(const ParmVarDecl *PD) const { return PD->getType(); }
  410   QualType getSelfType(ASTContext &Context, const ObjCInterfaceDecl *OID,
  713   void gatherDefaultTypeArgs(SmallVectorImpl<QualType> &typeArgs) const;
  769   QualType DeclType;
  800                    QualType T, TypeSourceInfo *TSI,
  814                                   QualType T,
  828   QualType getType() const { return DeclType; }
  830   void setType(QualType T, TypeSourceInfo *TSI) {
  837   QualType getUsageType(QualType objectType) const;
  837   QualType getUsageType(QualType objectType) const;
 1955                QualType T, TypeSourceInfo *TInfo, AccessControl ac, Expr *BW,
 1964                               IdentifierInfo *Id, QualType T,
 1994   QualType getUsageType(QualType objectType) const;
 1994   QualType getUsageType(QualType objectType) const;
 2014                       QualType T, Expr *BW)
 2025                                      QualType T, Expr *BW);
tools/clang/include/clang/AST/DeclOpenMP.h
  135                           DeclarationName Name, QualType Ty,
  146          QualType T, OMPDeclareReductionDecl *PrevDeclInScope);
  234                        DeclarationName Name, QualType Ty,
  251                                       QualType T, DeclarationName VarName,
  317                       QualType Type, TypeSourceInfo *TInfo,
  326                                      IdentifierInfo *Id, QualType T,
tools/clang/include/clang/AST/DeclTemplate.h
 1193   QualType getDefaultArgument() const {
 1257                                     std::pair<QualType, TypeSourceInfo *>> {
 1281       OverloadToken<std::pair<QualType, TypeSourceInfo *>>) const {
 1287                           IdentifierInfo *Id, QualType T,
 1294                           IdentifierInfo *Id, QualType T,
 1296                           ArrayRef<QualType> ExpandedTypes,
 1303          QualType T, bool ParameterPack, TypeSourceInfo *TInfo);
 1308          QualType T, TypeSourceInfo *TInfo, ArrayRef<QualType> ExpandedTypes,
 1308          QualType T, TypeSourceInfo *TInfo, ArrayRef<QualType> ExpandedTypes,
 1410   QualType getExpansionType(unsigned I) const {
 1413         getTrailingObjects<std::pair<QualType, TypeSourceInfo *>>();
 1422         getTrailingObjects<std::pair<QualType, TypeSourceInfo *>>();
 1948          QualType CanonInjectedType,
 2053   QualType getInjectedSpecializationType() const {
 2084     QualType InjectedClassNameType;
 2202   ClassTemplatePartialSpecializationDecl *findPartialSpecialization(QualType T);
 2230   QualType getInjectedClassNameSpecialization();
 2544                                 QualType T, TypeSourceInfo *TInfo,
 2557          SourceLocation IdLoc, VarTemplateDecl *SpecializedTemplate, QualType T,
 2766       VarTemplateDecl *SpecializedTemplate, QualType T, TypeSourceInfo *TInfo,
 2784          VarTemplateDecl *SpecializedTemplate, QualType T,
tools/clang/include/clang/AST/DeclarationName.h
   59   QualType Type;
   66   CXXSpecialNameExtra(QualType QT) : Type(QT), FETokenInfo(nullptr) {}
  439   QualType getCXXNameType() const {
tools/clang/include/clang/AST/DependentDiagnostic.h
   48                                      QualType BaseObjectType,
   89   QualType getAccessBaseObjectType() const {
   91     return QualType::getFromOpaquePtr(AccessData.BaseObjectType);
tools/clang/include/clang/AST/Expr.h
  109   QualType TR;
  119   Expr(StmtClass SC, QualType T, ExprValueKind VK, ExprObjectKind OK,
  137   QualType getType() const { return TR; }
  138   void setType(QualType t) {
  404   static ExprValueKind getValueKindForType(QualType T) {
  757   static QualType findBoundMemberType(const Expr *expr);
 1055   OpaqueValueExpr(SourceLocation Loc, QualType T, ExprValueKind VK,
 1182               const TemplateArgumentListInfo *TemplateArgs, QualType T,
 1194               bool RefersToEnclosingVariableOrCapture, QualType T,
 1203          QualType T, ExprValueKind VK, NamedDecl *FoundD = nullptr,
 1211          const DeclarationNameInfo &NameInfo, QualType T, ExprValueKind VK,
 1431   IntegerLiteral(const ASTContext &C, const llvm::APInt &V, QualType type,
 1439                                 QualType type, SourceLocation l);
 1473   FixedPointLiteral(const ASTContext &C, const llvm::APInt &V, QualType type,
 1479                                              QualType type, SourceLocation l,
 1520   CharacterLiteral(unsigned value, CharacterKind kind, QualType type,
 1562                   QualType Type, SourceLocation L);
 1569                                  bool isexact, QualType Type, SourceLocation L);
 1640   ImaginaryLiteral(Expr *val, QualType Ty)
 1733                 bool Pascal, QualType Ty, const SourceLocation *Loc,
 1753                                StringKind Kind, bool Pascal, QualType Ty,
 1759                                StringKind Kind, bool Pascal, QualType Ty,
 1903   PredefinedExpr(SourceLocation L, QualType FNTy, IdentKind IK,
 1920                                 QualType FNTy, IdentKind IK, StringLiteral *SL);
 2027   UnaryOperator(Expr *input, Opcode opc, QualType type, ExprValueKind VK,
 2257   OffsetOfExpr(const ASTContext &C, QualType type,
 2268   static OffsetOfExpr *Create(const ASTContext &C, QualType type,
 2356                            QualType resultType, SourceLocation op,
 2371                            QualType resultType, SourceLocation op,
 2384   QualType getArgumentType() const {
 2410   QualType getTypeOfArgument() const {
 2444   ArraySubscriptExpr(Expr *lhs, Expr *rhs, QualType t,
 2576            ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
 2618                           ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
 2630   static CallExpr *CreateTemporary(void *Mem, Expr *Fn, QualType Ty,
 2753   QualType getCallReturnType(const ASTContext &Ctx) const;
 2854              QualType T, ExprValueKind VK, ExprObjectKind OK,
 2867                             QualType T, ExprValueKind VK, ExprObjectKind OK,
 2874                                     QualType T, ExprValueKind VK,
 3065                       QualType T, ExprValueKind VK, Expr *init, bool fileScope)
 3136   CastExpr(StmtClass SC, QualType ty, ExprValueKind VK, const CastKind kind,
 3214   static const FieldDecl *getTargetFieldForToUnionCast(QualType unionType,
 3215                                                        QualType opType);
 3217                                                        QualType opType);
 3253   ImplicitCastExpr(QualType ty, CastKind kind, Expr *op,
 3263   ImplicitCastExpr(OnStack_t _, QualType ty, CastKind kind, Expr *op,
 3273   static ImplicitCastExpr *Create(const ASTContext &Context, QualType T,
 3318   ExplicitCastExpr(StmtClass SC, QualType exprTy, ExprValueKind VK,
 3335   QualType getTypeAsWritten() const { return TInfo->getType(); }
 3352   CStyleCastExpr(QualType exprTy, ExprValueKind vk, CastKind kind, Expr *op,
 3363   static CStyleCastExpr *Create(const ASTContext &Context, QualType T,
 3416   BinaryOperator(Expr *lhs, Expr *rhs, Opcode opc, QualType ResTy,
 3601   BinaryOperator(Expr *lhs, Expr *rhs, Opcode opc, QualType ResTy,
 3630   QualType ComputationLHSType;
 3631   QualType ComputationResultType;
 3633   CompoundAssignOperator(Expr *lhs, Expr *rhs, Opcode opc, QualType ResType,
 3635                          QualType CompLHSType, QualType CompResultType,
 3635                          QualType CompLHSType, QualType CompResultType,
 3652   QualType getComputationLHSType() const { return ComputationLHSType; }
 3653   void setComputationLHSType(QualType T) { ComputationLHSType = T; }
 3655   QualType getComputationResultType() const { return ComputationResultType; }
 3656   void setComputationResultType(QualType T) { ComputationResultType = T; }
 3670   AbstractConditionalOperator(StmtClass SC, QualType T,
 3715                       QualType t, ExprValueKind VK, ExprObjectKind OK)
 3796                             QualType t, ExprValueKind VK, ExprObjectKind OK)
 3887                 QualType t)
 3933   StmtExpr(CompoundStmt *substmt, QualType T,
 3982   ShuffleVectorExpr(const ASTContext &C, ArrayRef<Expr*> args, QualType Type,
 4050   ConvertVectorExpr(Expr* SrcExpr, TypeSourceInfo *TI, QualType DstType,
 4109              QualType t, ExprValueKind VK, ExprObjectKind OK,
 4187   GNUNullExpr(QualType Ty, SourceLocation Loc)
 4222             SourceLocation RPLoc, QualType t, bool IsMS)
 4639   DesignatedInitExpr(const ASTContext &C, QualType Ty,
 4911   explicit NoInitExpr(QualType ty)
 5006   explicit ArrayInitLoopExpr(QualType T, Expr *CommonInit, Expr *ElementInit)
 5059   explicit ArrayInitIndexExpr(QualType T)
 5091   explicit ImplicitValueInitExpr(QualType ty)
 5265     QualType getType() const { return TSI ? TSI->getType() : QualType(); }
 5495   ExtVectorElementExpr(QualType ty, ExprValueKind VK, Expr *base,
 5555   BlockExpr(BlockDecl *BD, QualType ty)
 5610   AsTypeExpr(Expr* SrcExpr, QualType DstType,
 5692   PseudoObjectExpr(QualType type, ExprValueKind VK,
 5829   AtomicExpr(SourceLocation BLoc, ArrayRef<Expr*> args, QualType t,
 5869   QualType getValueType() const;
 5938   TypoExpr(QualType T)
tools/clang/include/clang/AST/ExprCXX.h
   90                       ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
   99          ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
  175   CXXMemberCallExpr(Expr *Fn, ArrayRef<Expr *> Args, QualType Ty,
  182                                    ArrayRef<Expr *> Args, QualType Ty,
  197   QualType getObjectType() const;
  233                      QualType Ty, ExprValueKind VK, SourceLocation RP,
  241                                     QualType Ty, ExprValueKind VK,
  367   CXXNamedCastExpr(StmtClass SC, QualType ty, ExprValueKind VK,
  412   CXXStaticCastExpr(QualType ty, ExprValueKind vk, CastKind kind, Expr *op,
  426   static CXXStaticCastExpr *Create(const ASTContext &Context, QualType T,
  448   CXXDynamicCastExpr(QualType ty, ExprValueKind VK, CastKind kind,
  462   static CXXDynamicCastExpr *Create(const ASTContext &Context, QualType T,
  491   CXXReinterpretCastExpr(QualType ty, ExprValueKind vk, CastKind kind,
  506   static CXXReinterpretCastExpr *Create(const ASTContext &Context, QualType T,
  530   CXXConstCastExpr(QualType ty, ExprValueKind VK, Expr *op,
  543   static CXXConstCastExpr *Create(const ASTContext &Context, QualType T,
  574   UserDefinedLiteral(Expr *Fn, ArrayRef<Expr *> Args, QualType Ty,
  582                                     ArrayRef<Expr *> Args, QualType Ty,
  647   CXXBoolLiteralExpr(bool Val, QualType Ty, SourceLocation Loc)
  685   CXXNullPtrLiteralExpr(QualType Ty, SourceLocation Loc)
  725   CXXStdInitializerListExpr(QualType Ty, Expr *SubExpr)
  770   CXXTypeidExpr(QualType Ty, TypeSourceInfo *Operand, SourceRange R)
  781   CXXTypeidExpr(QualType Ty, Expr *Operand, SourceRange R)
  808   QualType getTypeOperand(ASTContext &Context) const;
  874                     QualType ty, ExprValueKind VK,
  949   MSPropertySubscriptExpr(Expr *Base, Expr *Idx, QualType Ty, ExprValueKind VK,
 1007   CXXUuidofExpr(QualType Ty, TypeSourceInfo *Operand, StringRef UuidStr,
 1015   CXXUuidofExpr(QualType Ty, Expr *Operand, StringRef UuidStr, SourceRange R)
 1033   QualType getTypeOperand(ASTContext &Context) const;
 1099   CXXThisExpr(SourceLocation L, QualType Ty, bool IsImplicit)
 1151   CXXThrowExpr(Expr *Operand, QualType Ty, SourceLocation Loc,
 1290                      FieldDecl *Field, QualType Ty, DeclContext *UsedContext);
 1465   CXXConstructExpr(StmtClass SC, QualType Ty, SourceLocation Loc,
 1484   Create(const ASTContext &Ctx, QualType Ty, SourceLocation Loc,
 1631   CXXInheritedCtorInitExpr(SourceLocation Loc, QualType T,
 1694   CXXFunctionalCastExpr(QualType ty, ExprValueKind VK,
 1709   static CXXFunctionalCastExpr *Create(const ASTContext &Context, QualType T,
 1759   CXXTemporaryObjectExpr(CXXConstructorDecl *Cons, QualType Ty,
 1770   Create(const ASTContext &Ctx, CXXConstructorDecl *Cons, QualType Ty,
 1851   LambdaExpr(QualType T, SourceRange IntroducerRange,
 2061   CXXScalarValueInitExpr(QualType Type, TypeSourceInfo *TypeInfo,
 2170              QualType Ty, TypeSourceInfo *AllocatedTypeInfo, SourceRange Range,
 2185          QualType Ty, TypeSourceInfo *AllocatedTypeInfo, SourceRange Range,
 2193   QualType getAllocatedType() const {
 2369   CXXDeleteExpr(QualType Ty, bool GlobalDelete, bool ArrayForm,
 2408   QualType getDestroyedType() const;
 2584   QualType getDestroyedType() const;
 2639   TypeTraitExpr(QualType T, SourceLocation Loc, TypeTrait Kind,
 2656   static TypeTraitExpr *Create(const ASTContext &C, QualType T,
 2739                      Expr *dimension, SourceLocation rparen, QualType ty)
 2756   QualType getQueriedType() const { return QueriedType->getType(); }
 2806                      SourceLocation rparen, QualType resultType)
 3171   DependentScopeDeclRefExpr(QualType Ty, NestedNameSpecifierLoc QualifierLoc,
 3425   QualType getTypeAsWritten() const { return TSI->getType(); }
 3526   QualType BaseType;
 3575                               QualType BaseType, bool IsArrow,
 3588   Create(const ASTContext &Ctx, Expr *Base, QualType BaseType, bool IsArrow,
 3614   QualType getBaseType() const { return BaseType; }
 3787   QualType BaseType;
 3807                        Expr *Base, QualType BaseType, bool IsArrow,
 3829          QualType BaseType, bool IsArrow, SourceLocation OperatorLoc,
 3857   QualType getBaseType() const { return BaseType; }
 3965   CXXNoexceptExpr(QualType Ty, Expr *Operand, CanThrowResult Val,
 4031   PackExpansionExpr(QualType T, Expr *Pattern, SourceLocation EllipsisLoc,
 4124   SizeOfPackExpr(QualType SizeType, SourceLocation OperatorLoc, NamedDecl *Pack,
 4223   SubstNonTypeTemplateParmExpr(QualType Ty, ExprValueKind ValueKind,
 4290   SubstNonTypeTemplateParmPackExpr(QualType T,
 4353   FunctionParmPackExpr(QualType T, VarDecl *ParamPack,
 4358   static FunctionParmPackExpr *Create(const ASTContext &Context, QualType T,
 4438   MaterializeTemporaryExpr(QualType T, Expr *Temporary,
 4549   CXXFoldExpr(QualType T, SourceLocation LParenLoc, Expr *LHS,
 4643   CoroutineSuspendExpr(StmtClass SC, SourceLocation KeywordLoc, QualType Ty,
 4717   CoawaitExpr(SourceLocation CoawaitLoc, QualType Ty, Expr *Operand,
 4748   DependentCoawaitExpr(SourceLocation KeywordLoc, QualType Ty, Expr *Op,
 4800   CoyieldExpr(SourceLocation CoyieldLoc, QualType Ty, Expr *Operand)
 4829   BuiltinBitCastExpr(QualType T, ExprValueKind VK, CastKind CK, Expr *SrcExpr,
tools/clang/include/clang/AST/ExprObjC.h
   55   ObjCStringLiteral(StringLiteral *SL, QualType T, SourceLocation L)
   90   ObjCBoolLiteralExpr(bool val, QualType Ty, SourceLocation l)
  132   ObjCBoxedExpr(Expr *E, QualType T, ObjCMethodDecl *method,
  196                    QualType T, ObjCMethodDecl * Method,
  208                                   QualType T, ObjCMethodDecl * Method,
  329                         QualType T, ObjCMethodDecl *method,
  349                                        QualType T, ObjCMethodDecl *method,
  412   ObjCEncodeExpr(QualType T, TypeSourceInfo *EncodedType,
  428   QualType getEncodedType() const { return EncodedType->getType(); }
  459   ObjCSelectorExpr(QualType T, Selector selInfo,
  511   ObjCProtocolExpr(QualType T, ObjCProtocolDecl *protocol,
  561   ObjCIvarRefExpr(ObjCIvarDecl *d, QualType t,
  648   ObjCPropertyRefExpr(ObjCPropertyDecl *PD, QualType t,
  659   ObjCPropertyRefExpr(ObjCPropertyDecl *PD, QualType t,
  661                       SourceLocation l, SourceLocation sl, QualType st)
  671                       QualType T, ExprValueKind VK, ExprObjectKind OK,
  682                       QualType T, ExprValueKind VK, ExprObjectKind OK,
  684                       SourceLocation SuperLoc, QualType SuperTy)
  692                       QualType T, ExprValueKind VK, ExprObjectKind OK,
  767   QualType getSuperReceiverType() const {
  780   QualType getReceiverType(const ASTContext &ctx) const;
  827   void setSuperReceiver(QualType T) { Receiver = T.getTypePtr(); }
  862   ObjCSubscriptRefExpr(Expr *base, Expr *key, QualType T,
 1003   ObjCMessageExpr(QualType T, ExprValueKind VK,
 1007                   QualType SuperType,
 1015   ObjCMessageExpr(QualType T, ExprValueKind VK,
 1025   ObjCMessageExpr(QualType T, ExprValueKind VK,
 1135   static ObjCMessageExpr *Create(const ASTContext &Context, QualType T,
 1140                                  QualType SuperType,
 1171   static ObjCMessageExpr *Create(const ASTContext &Context, QualType T,
 1205   static ObjCMessageExpr *Create(const ASTContext &Context, QualType T,
 1241   QualType getCallReturnType(ASTContext &Ctx) const;
 1279   QualType getClassReceiver() const {
 1317   QualType getReceiverType() const;
 1336   QualType getSuperType() const {
 1338       return QualType::getFromOpaquePtr(getReceiverPointer());
 1343   void setSuper(SourceLocation Loc, QualType T, bool IsInstanceSuper) {
 1507               QualType ty)
 1593   ObjCIndirectCopyRestoreExpr(Expr *operand, QualType type, bool shouldCopy)
 1707                             SourceLocation RParen, QualType Ty)
tools/clang/include/clang/AST/ExprOpenMP.h
   51   OMPArraySectionExpr(Expr *Base, Expr *LowerBound, Expr *Length, QualType Type,
   87   static QualType getBaseOriginalType(const Expr *Base);
tools/clang/include/clang/AST/FormatString.h
  272   QualType T;
  283   ArgType(QualType T, const char *N = nullptr) : K(SpecificTy), T(T), Name(N) {}
  316   MatchKind matchesType(ASTContext &C, QualType argTy) const;
  318   QualType getRepresentativeType(ASTContext &C) const;
  467   static bool namedTypeToLengthModifier(QualType QT, LengthModifier &LM);
  604   bool fixType(QualType QT, const LangOptions &LangOpt, ASTContext &Ctx,
  675   bool fixType(QualType QT, QualType RawQT, const LangOptions &LangOpt,
  675   bool fixType(QualType QT, QualType RawQT, const LangOptions &LangOpt,
tools/clang/include/clang/AST/JSONNodeDumper.h
  156   llvm::json::Object createQualType(QualType QT, bool Desugar = true);
  191   void Visit(QualType T);
tools/clang/include/clang/AST/LocInfoType.h
   37   LocInfoType(QualType ty, TypeSourceInfo *TInfo)
   47   QualType getType() const { return getCanonicalTypeInternal(); }
tools/clang/include/clang/AST/Mangle.h
  110   virtual void mangleCXXRTTI(QualType T, raw_ostream &) = 0;
  111   virtual void mangleCXXRTTIName(QualType T, raw_ostream &) = 0;
  148   virtual void mangleTypeName(QualType T, raw_ostream &) = 0;
  214   virtual void mangleCXXThrowInfo(QualType T, bool IsConst, bool IsVolatile,
  218   virtual void mangleCXXCatchableTypeArray(QualType T, uint32_t NumEntries,
  221   virtual void mangleCXXCatchableType(QualType T, const CXXConstructorDecl *CD,
tools/clang/include/clang/AST/NSAPI.h
  212       getNSNumberFactoryMethodKind(QualType T) const;
  215   bool isObjCBOOLType(QualType T) const;
  217   bool isObjCNSIntegerType(QualType T) const;
  219   bool isObjCNSUIntegerType(QualType T) const;
  222   StringRef GetNSIntegralKind(QualType T) const;
  232   bool isObjCTypedef(QualType T, StringRef name, IdentifierInfo *&II) const;
tools/clang/include/clang/AST/NonTrivialTypeVisitor.h
   22   template <class... Ts> RetTy visit(QualType FT, Ts &&... Args) {
   28   RetTy visitWithKind(QualType::DestructionKind DK, QualType FT,
   28   RetTy visitWithKind(QualType::DestructionKind DK, QualType FT,
   31     case QualType::DK_objc_strong_lifetime:
   33     case QualType::DK_nontrivial_c_struct:
   35     case QualType::DK_none:
   37     case QualType::DK_cxx_destructor:
   39     case QualType::DK_objc_weak_lifetime:
   51   template <class... Ts> RetTy visit(QualType FT, Ts &&... Args) {
   58   RetTy visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK,
   59                       QualType FT, Ts &&... Args) {
   61     case QualType::PDIK_ARCStrong:
   63     case QualType::PDIK_ARCWeak:
   65     case QualType::PDIK_Struct:
   67     case QualType::PDIK_Trivial:
   79   template <class... Ts> RetTy visit(QualType FT, Ts &&... Args) {
   80     QualType::PrimitiveCopyKind PCK =
   87   RetTy visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
   87   RetTy visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
   92     case QualType::PCK_ARCStrong:
   94     case QualType::PCK_ARCWeak:
   96     case QualType::PCK_Struct:
   98     case QualType::PCK_Trivial:
  100     case QualType::PCK_VolatileTrivial:
tools/clang/include/clang/AST/ODRHash.h
   80   void AddQualType(QualType T);
tools/clang/include/clang/AST/OptionalDiagnostic.h
   34   template <typename T> OptionalDiagnostic &operator<<(const T &v) {
tools/clang/include/clang/AST/QualTypeNames.h
   75 std::string getFullyQualifiedName(QualType QT, const ASTContext &Ctx,
   88 QualType getFullyQualifiedType(QualType QT, const ASTContext &Ctx,
   88 QualType getFullyQualifiedType(QualType QT, const ASTContext &Ctx,
tools/clang/include/clang/AST/RecursiveASTVisitor.h
  212   bool TraverseType(QualType T);
  670 bool RecursiveASTVisitor<Derived>::TraverseType(QualType T) {
tools/clang/include/clang/AST/StmtCXX.h
   50   QualType getCaughtType() const;
tools/clang/include/clang/AST/StmtVisitor.h
   42   RetTy Visit(PTR(Stmt) S, ParamTys... P) {
  170   RetTy VisitStmt(PTR(Stmt) Node, ParamTys... P) { return RetTy(); }
tools/clang/include/clang/AST/TemplateBase.h
  144   TemplateArgument(QualType T, bool isNullPtr = false) {
  152   TemplateArgument(ValueDecl *D, QualType QT) {
  161   TemplateArgument(ASTContext &Ctx, const llvm::APSInt &Value, QualType Type);
  165   TemplateArgument(const TemplateArgument &Other, QualType Type) {
  256   QualType getAsType() const {
  258     return QualType::getFromOpaquePtr(reinterpret_cast<void*>(TypeOrValue.V));
  268   QualType getParamTypeForDecl() const {
  270     return QualType::getFromOpaquePtr(DeclArg.QT);
  274   QualType getNullPtrType() const {
  276     return QualType::getFromOpaquePtr(reinterpret_cast<void*>(TypeOrValue.V));
  314   QualType getIntegralType() const {
  316     return QualType::getFromOpaquePtr(Integer.Type);
  319   void setIntegralType(QualType T) {
  326   QualType getNonTypeTemplateArgumentType() const;
tools/clang/include/clang/AST/TextNodeDumper.h
  167   void Visit(QualType T);
  182   void dumpBareType(QualType T, bool Desugar = true);
  183   void dumpType(QualType T);
tools/clang/include/clang/AST/Type.h
  690   static QualType getFromOpaquePtr(const void *Ptr) {
  691     QualType T;
  779     return QualType::isConstant(*this, Ctx);
  815   QualType withConst() const {
  823   QualType withVolatile() const {
  831   QualType withRestrict() const {
  835   QualType withCVRQualifiers(unsigned CVR) const {
  858   QualType withFastQualifiers(unsigned TQs) const {
  859     QualType T = *this;
  866   QualType withExactLocalFastQualifiers(unsigned TQs) const {
  871   QualType withoutLocalFastQualifiers() const {
  872     QualType T = *this;
  877   QualType getCanonicalType() const;
  882   QualType getLocalUnqualifiedType() const { return QualType(getTypePtr(), 0); }
  902   inline QualType getUnqualifiedType() const;
  917   bool isMoreQualifiedThan(QualType Other) const;
  921   bool isAtLeastAsQualifiedAs(QualType Other) const;
  923   QualType getNonReferenceType() const;
  933   QualType getNonLValueExprType(const ASTContext &Context) const;
  943   QualType getDesugaredType(const ASTContext &Context) const {
  956   QualType getSingleStepDesugaredType(const ASTContext &Context) const {
  962   QualType IgnoreParens() const {
  964       return QualType::IgnoreParens(*this);
  969   friend bool operator==(const QualType &LHS, const QualType &RHS) {
  969   friend bool operator==(const QualType &LHS, const QualType &RHS) {
  972   friend bool operator!=(const QualType &LHS, const QualType &RHS) {
  972   friend bool operator!=(const QualType &LHS, const QualType &RHS) {
  975   friend bool operator<(const QualType &LHS, const QualType &RHS) {
  975   friend bool operator<(const QualType &LHS, const QualType &RHS) {
 1017     const QualType &T;
 1023     StreamedQualTypeHelper(const QualType &T, const PrintingPolicy &Policy,
 1206   QualType substObjCTypeArgs(ASTContext &ctx,
 1207                              ArrayRef<QualType> typeArgs,
 1230   QualType substObjCMemberType(QualType objectType,
 1230   QualType substObjCMemberType(QualType objectType,
 1235   QualType stripObjCKindOfType(const ASTContext &ctx) const;
 1238   QualType getAtomicUnqualifiedType() const;
 1244   static bool isConstant(QualType T, const ASTContext& Ctx);
 1245   static QualType getDesugaredType(QualType T, const ASTContext &Context);
 1245   static QualType getDesugaredType(QualType T, const ASTContext &Context);
 1246   static SplitQualType getSplitDesugaredType(QualType T);
 1247   static SplitQualType getSplitUnqualifiedTypeImpl(QualType type);
 1248   static QualType getSingleStepDesugaredTypeImpl(QualType type,
 1248   static QualType getSingleStepDesugaredTypeImpl(QualType type,
 1250   static QualType IgnoreParens(QualType T);
 1250   static QualType IgnoreParens(QualType T);
 1251   static DestructionKind isDestructedTypeImpl(QualType type);
 1268   static SimpleType getSimplifiedValue(::clang::QualType Val) {
 1276   static inline void *getAsVoidPointer(clang::QualType P) {
 1280   static inline clang::QualType getFromVoidPointer(void *P) {
 1281     return clang::QualType::getFromOpaquePtr(P);
 1308   QualType CanonicalType;
 1310   ExtQualsTypeCommonBase(const Type *baseType, QualType canon)
 1345   ExtQuals(const Type *baseType, QualType canon, Qualifiers quals)
 1808   Type(TypeClass tc, QualType canon, bool Dependent,
 1884   QualType getLocallyUnqualifiedSingleStepDesugaredType() const;
 2283   QualType getPointeeType() const;
 2391   Optional<ArrayRef<QualType>>
 2400   QualType getCanonicalTypeInternal() const {
 2477   QualType desugar() const { return QualType(this, 0); }
 2528   QualType ElementType;
 2530   ComplexType(QualType Element, QualType CanonicalPtr)
 2530   ComplexType(QualType Element, QualType CanonicalPtr)
 2538   QualType getElementType() const { return ElementType; }
 2541   QualType desugar() const { return QualType(this, 0); }
 2547   static void Profile(llvm::FoldingSetNodeID &ID, QualType Element) {
 2558   QualType Inner;
 2560   ParenType(QualType InnerType, QualType CanonType)
 2560   ParenType(QualType InnerType, QualType CanonType)
 2568   QualType getInnerType() const { return Inner; }
 2571   QualType desugar() const { return getInnerType(); }
 2577   static void Profile(llvm::FoldingSetNodeID &ID, QualType Inner) {
 2588   QualType PointeeType;
 2590   PointerType(QualType Pointee, QualType CanonicalPtr)
 2590   PointerType(QualType Pointee, QualType CanonicalPtr)
 2598   QualType getPointeeType() const { return PointeeType; }
 2617   QualType desugar() const { return QualType(this, 0); }
 2623   static void Profile(llvm::FoldingSetNodeID &ID, QualType Pointee) {
 2634   QualType OriginalTy;
 2635   QualType AdjustedTy;
 2640   AdjustedType(TypeClass TC, QualType OriginalTy, QualType AdjustedTy,
 2640   AdjustedType(TypeClass TC, QualType OriginalTy, QualType AdjustedTy,
 2641                QualType CanonicalPtr)
 2649   QualType getOriginalType() const { return OriginalTy; }
 2650   QualType getAdjustedType() const { return AdjustedTy; }
 2653   QualType desugar() const { return AdjustedTy; }
 2659   static void Profile(llvm::FoldingSetNodeID &ID, QualType Orig, QualType New) {
 2659   static void Profile(llvm::FoldingSetNodeID &ID, QualType Orig, QualType New) {
 2674   DecayedType(QualType OriginalType, QualType Decayed, QualType Canonical);
 2674   DecayedType(QualType OriginalType, QualType Decayed, QualType Canonical);
 2674   DecayedType(QualType OriginalType, QualType Decayed, QualType Canonical);
 2677   QualType getDecayedType() const { return getAdjustedType(); }
 2679   inline QualType getPointeeType() const;
 2691   QualType PointeeType;
 2693   BlockPointerType(QualType Pointee, QualType CanonicalCls)
 2693   BlockPointerType(QualType Pointee, QualType CanonicalCls)
 2702   QualType getPointeeType() const { return PointeeType; }
 2705   QualType desugar() const { return QualType(this, 0); }
 2711   static void Profile(llvm::FoldingSetNodeID &ID, QualType Pointee) {
 2722   QualType PointeeType;
 2725   ReferenceType(TypeClass tc, QualType Referencee, QualType CanonicalRef,
 2725   ReferenceType(TypeClass tc, QualType Referencee, QualType CanonicalRef,
 2740   QualType getPointeeTypeAsWritten() const { return PointeeType; }
 2742   QualType getPointeeType() const {
 2755                       QualType Referencee,
 2771   LValueReferenceType(QualType Referencee, QualType CanonicalRef,
 2771   LValueReferenceType(QualType Referencee, QualType CanonicalRef,
 2778   QualType desugar() const { return QualType(this, 0); }
 2789   RValueReferenceType(QualType Referencee, QualType CanonicalRef)
 2789   RValueReferenceType(QualType Referencee, QualType CanonicalRef)
 2794   QualType desugar() const { return QualType(this, 0); }
 2807   QualType PointeeType;
 2813   MemberPointerType(QualType Pointee, const Type *Cls, QualType CanonicalPtr)
 2813   MemberPointerType(QualType Pointee, const Type *Cls, QualType CanonicalPtr)
 2824   QualType getPointeeType() const { return PointeeType; }
 2842   QualType desugar() const { return QualType(this, 0); }
 2848   static void Profile(llvm::FoldingSetNodeID &ID, QualType Pointee,
 2872   QualType ElementType;
 2877   ArrayType(TypeClass tc, QualType et, QualType can, ArraySizeModifier sm,
 2877   ArrayType(TypeClass tc, QualType et, QualType can, ArraySizeModifier sm,
 2881   QualType getElementType() const { return ElementType; }
 2914   ConstantArrayType(QualType et, QualType can, const llvm::APInt &size,
 2914   ConstantArrayType(QualType et, QualType can, const llvm::APInt &size,
 2936   QualType desugar() const { return QualType(this, 0); }
 2941                                        QualType ElementType,
 2954                       QualType ET, const llvm::APInt &ArraySize,
 2969   IncompleteArrayType(QualType et, QualType can,
 2969   IncompleteArrayType(QualType et, QualType can,
 2977   QualType desugar() const { return QualType(this, 0); }
 2988   static void Profile(llvm::FoldingSetNodeID &ID, QualType ET,
 3020   VariableArrayType(QualType et, QualType can, Expr *e,
 3020   VariableArrayType(QualType et, QualType can, Expr *e,
 3040   QualType desugar() const { return QualType(this, 0); }
 3079   DependentSizedArrayType(const ASTContext &Context, QualType et, QualType can,
 3079   DependentSizedArrayType(const ASTContext &Context, QualType et, QualType can,
 3097   QualType desugar() const { return QualType(this, 0); }
 3109                       QualType ET, ArraySizeModifier SizeMod,
 3129   QualType PointeeType;
 3132   DependentAddressSpaceType(const ASTContext &Context, QualType PointeeType,
 3133                             QualType can, Expr *AddrSpaceExpr,
 3138   QualType getPointeeType() const { return PointeeType; }
 3142   QualType desugar() const { return QualType(this, 0); }
 3153                       QualType PointeeType, Expr *AddrSpaceExpr);
 3173   QualType ElementType;
 3177   DependentSizedExtVectorType(const ASTContext &Context, QualType ElementType,
 3178                               QualType can, Expr *SizeExpr, SourceLocation loc);
 3182   QualType getElementType() const { return ElementType; }
 3186   QualType desugar() const { return QualType(this, 0); }
 3197                       QualType ElementType, Expr *SizeExpr);
 3232   QualType ElementType;
 3234   VectorType(QualType vecType, unsigned nElements, QualType canonType,
 3234   VectorType(QualType vecType, unsigned nElements, QualType canonType,
 3237   VectorType(TypeClass tc, QualType vecType, unsigned nElements,
 3238              QualType canonType, VectorKind vecKind);
 3241   QualType getElementType() const { return ElementType; }
 3249   QualType desugar() const { return QualType(this, 0); }
 3260   static void Profile(llvm::FoldingSetNodeID &ID, QualType ElementType,
 3287   QualType ElementType;
 3291   DependentVectorType(const ASTContext &Context, QualType ElementType,
 3292                            QualType CanonType, Expr *SizeExpr,
 3297   QualType getElementType() const { return ElementType; }
 3304   QualType desugar() const { return QualType(this, 0); }
 3315                       QualType ElementType, const Expr *SizeExpr,
 3328   ExtVectorType(QualType vecType, unsigned nElements, QualType canonType)
 3328   ExtVectorType(QualType vecType, unsigned nElements, QualType canonType)
 3384   QualType desugar() const { return QualType(this, 0); }
 3395   QualType ResultType;
 3621   struct ExceptionType { QualType Type; };
 3635   FunctionType(TypeClass tc, QualType res,
 3636                QualType Canonical, bool Dependent,
 3651   QualType getReturnType() const { return ResultType; }
 3674   QualType getCallResultType(const ASTContext &Context) const {
 3691   FunctionNoProtoType(QualType Result, QualType Canonical, ExtInfo Info)
 3691   FunctionNoProtoType(QualType Result, QualType Canonical, ExtInfo Info)
 3701   QualType desugar() const { return QualType(this, 0); }
 3707   static void Profile(llvm::FoldingSetNodeID &ID, QualType ResultType,
 3729           FunctionProtoType, QualType, FunctionType::FunctionTypeExtraBitfields,
 3784     ArrayRef<QualType> Exceptions;
 3827   unsigned numTrailingObjects(OverloadToken<QualType>) const {
 3853   static bool containsAnyUnexpandedParameterPack(const QualType *ArgArray,
 3862   FunctionProtoType(QualType result, ArrayRef<QualType> params,
 3862   FunctionProtoType(QualType result, ArrayRef<QualType> params,
 3863                     QualType canonical, const ExtProtoInfo &epi);
 3929   QualType getParamType(unsigned i) const {
 3934   ArrayRef<QualType> getParamTypes() const {
 3995   QualType getExceptionType(unsigned i) const {
 4066   using param_type_iterator = const QualType *;
 4074     return getTrailingObjects<QualType>();
 4081   using exception_iterator = const QualType *;
 4083   ArrayRef<QualType> exceptions() const {
 4139   QualType desugar() const { return QualType(this, 0); }
 4149   static void Profile(llvm::FoldingSetNodeID &ID, QualType Result,
 4174   QualType desugar() const { return QualType(this, 0); }
 4196   TypedefType(TypeClass tc, const TypedefNameDecl *D, QualType can)
 4209   QualType desugar() const;
 4219   QualType UnderlyingTy;
 4222   MacroQualifiedType(QualType UnderlyingTy, QualType CanonTy,
 4222   MacroQualifiedType(QualType UnderlyingTy, QualType CanonTy,
 4235   QualType getUnderlyingType() const { return UnderlyingTy; }
 4239   QualType getModifiedType() const;
 4242   QualType desugar() const;
 4256   TypeOfExprType(Expr *E, QualType can = QualType());
 4262   QualType desugar() const;
 4296   QualType TOType;
 4298   TypeOfType(QualType T, QualType can)
 4298   TypeOfType(QualType T, QualType can)
 4308   QualType getUnderlyingType() const { return TOType; }
 4311   QualType desugar() const { return getUnderlyingType(); }
 4322   QualType UnderlyingType;
 4327   DecltypeType(Expr *E, QualType underlyingType, QualType can = QualType());
 4327   DecltypeType(Expr *E, QualType underlyingType, QualType can = QualType());
 4331   QualType getUnderlyingType() const { return UnderlyingType; }
 4334   QualType desugar() const;
 4371   QualType BaseType;
 4374   QualType UnderlyingType;
 4381   UnaryTransformType(QualType BaseTy, QualType UnderlyingTy, UTTKind UKind,
 4381   UnaryTransformType(QualType BaseTy, QualType UnderlyingTy, UTTKind UKind,
 4382                      QualType CanonicalTy);
 4386   QualType desugar() const { return UnderlyingType; }
 4388   QualType getUnderlyingType() const { return UnderlyingType; }
 4389   QualType getBaseType() const { return BaseType; }
 4407   DependentUnaryTransformType(const ASTContext &C, QualType BaseType,
 4414   static void Profile(llvm::FoldingSetNodeID &ID, QualType BaseType,
 4429   TagType(TypeClass TC, const TagDecl *D, QualType can);
 4463   QualType desugar() const { return QualType(this, 0); }
 4482   QualType desugar() const { return QualType(this, 0); }
 4506   QualType ModifiedType;
 4507   QualType EquivalentType;
 4509   AttributedType(QualType canon, attr::Kind attrKind, QualType modified,
 4509   AttributedType(QualType canon, attr::Kind attrKind, QualType modified,
 4510                  QualType equivalent)
 4524   QualType getModifiedType() const { return ModifiedType; }
 4525   QualType getEquivalentType() const { return EquivalentType; }
 4528   QualType desugar() const { return getEquivalentType(); }
 4578   static Optional<NullabilityKind> stripOuterNullability(QualType &T);
 4585                       QualType modified, QualType equivalent) {
 4585                       QualType modified, QualType equivalent) {
 4615   TemplateTypeParmType(TemplateTypeParmDecl *TTPDecl, QualType Canon)
 4634     QualType Can = getCanonicalTypeInternal();
 4650   QualType desugar() const { return QualType(this, 0); }
 4683   SubstTemplateTypeParmType(const TemplateTypeParmType *Param, QualType Canon)
 4698   QualType getReplacementType() const {
 4703   QualType desugar() const { return getReplacementType(); }
 4711                       QualType Replacement) {
 4744                                 QualType Canon,
 4760   QualType desugar() const { return QualType(this, 0); }
 4785   DeducedType(TypeClass TC, QualType DeducedAsType, bool IsDependent,
 4805   QualType desugar() const { return getCanonicalTypeInternal(); }
 4809   QualType getDeducedType() const {
 4826   AutoType(QualType DeducedAsType, AutoTypeKeyword Keyword,
 4847   static void Profile(llvm::FoldingSetNodeID &ID, QualType Deduced,
 4869                                     QualType DeducedAsType,
 4886                       QualType Deduced, bool IsDependent) {
 4933                              QualType Canon,
 4934                              QualType Aliased);
 4969   QualType getAliasedType() const {
 5004   QualType desugar() const {
 5072   QualType InjectedType;
 5074   InjectedClassNameType(CXXRecordDecl *D, QualType TST)
 5086   QualType getInjectedSpecializationType() const { return InjectedType; }
 5099   QualType desugar() const { return QualType(this, 0); }
 5157                   QualType Canonical, bool Dependent,
 5216   QualType NamedType;
 5223                  QualType NamedType, QualType CanonType, TagDecl *OwnedTagDecl)
 5223                  QualType NamedType, QualType CanonType, TagDecl *OwnedTagDecl)
 5245   QualType getNamedType() const { return NamedType; }
 5248   QualType desugar() const { return getNamedType(); }
 5265                       NestedNameSpecifier *NNS, QualType NamedType,
 5298                     const IdentifierInfo *Name, QualType CanonType)
 5319   QualType desugar() const { return QualType(this, 0); }
 5355                                       QualType Canon);
 5391   QualType desugar() const { return QualType(this, 0); }
 5435   QualType Pattern;
 5437   PackExpansionType(QualType Pattern, QualType Canon,
 5437   PackExpansionType(QualType Pattern, QualType Canon,
 5452   QualType getPattern() const { return Pattern; }
 5463   QualType desugar() const { return isSugared() ? Pattern : QualType(this, 0); }
 5469   static void Profile(llvm::FoldingSetNodeID &ID, QualType Pattern,
 5567                     QualType can,
 5572   QualType desugar() const { return getCanonicalTypeInternal(); }
 5631   QualType BaseType;
 5637   QualType *getTypeArgStorage();
 5638   const QualType *getTypeArgStorage() const {
 5655   ObjCObjectType(QualType Canonical, QualType Base,
 5655   ObjCObjectType(QualType Canonical, QualType Base,
 5656                  ArrayRef<QualType> typeArgs,
 5677   QualType getBaseType() const { return BaseType; }
 5721   ArrayRef<QualType> getTypeArgs() const;
 5725   ArrayRef<QualType> getTypeArgsAsWritten() const {
 5742   QualType getSuperClassType() const {
 5752   QualType stripObjCKindOfTypeAndQuals(const ASTContext &ctx) const;
 5755   QualType desugar() const { return QualType(this, 0); }
 5773   ObjCObjectTypeImpl(QualType Canonical, QualType Base,
 5773   ObjCObjectTypeImpl(QualType Canonical, QualType Base,
 5774                      ArrayRef<QualType> typeArgs,
 5782                       QualType Base,
 5783                       ArrayRef<QualType> typeArgs,
 5788 inline QualType *ObjCObjectType::getTypeArgStorage() {
 5830   QualType desugar() const { return QualType(this, 0); }
 5850   QualType baseType = getBaseType();
 5873   QualType PointeeType;
 5875   ObjCObjectPointerType(QualType Canonical, QualType Pointee)
 5875   ObjCObjectPointerType(QualType Canonical, QualType Pointee)
 5886   QualType getPointeeType() const { return PointeeType; }
 5978   ArrayRef<QualType> getTypeArgs() const {
 5983   ArrayRef<QualType> getTypeArgsAsWritten() const {
 6016   QualType desugar() const { return QualType(this, 0); }
 6024   QualType getSuperClassType() const;
 6035   static void Profile(llvm::FoldingSetNodeID &ID, QualType T) {
 6047   QualType ValueType;
 6049   AtomicType(QualType ValTy, QualType Canonical)
 6049   AtomicType(QualType ValTy, QualType Canonical)
 6059   QualType getValueType() const { return ValueType; }
 6062   QualType desugar() const { return QualType(this, 0); }
 6068   static void Profile(llvm::FoldingSetNodeID &ID, QualType T) {
 6081   QualType ElementType;
 6084   PipeType(QualType elemType, QualType CanonicalPtr, bool isRead)
 6084   PipeType(QualType elemType, QualType CanonicalPtr, bool isRead)
 6092   QualType getElementType() const { return ElementType; }
 6096   QualType desugar() const { return QualType(this, 0); }
 6102   static void Profile(llvm::FoldingSetNodeID &ID, QualType T, bool isRead) {
 6122   const Type *strip(QualType type) {
 6133   QualType apply(const ASTContext &Context, QualType QT) const;
 6133   QualType apply(const ASTContext &Context, QualType QT) const;
 6136   QualType apply(const ASTContext &Context, const Type* T) const;
 6187 inline QualType QualType::getCanonicalType() const {
 6188   QualType canon = getCommonPtr()->CanonicalType;
 6228 inline QualType QualType::getUnqualifiedType() const {
 6301 inline FunctionType::ExtInfo getFunctionExtInfo(QualType t) {
 6310 inline bool QualType::isMoreQualifiedThan(QualType other) const {
 6320 inline bool QualType::isAtLeastAsQualifiedAs(QualType other) const {
 6339 inline QualType QualType::getNonReferenceType() const {
 6835                                            QualType T) {
 6844                                            QualType T) {
 6938 DecayedType::DecayedType(QualType OriginalType, QualType DecayedPtr,
 6938 DecayedType::DecayedType(QualType OriginalType, QualType DecayedPtr,
 6939                          QualType CanonicalPtr)
 6942   QualType Adjusted = getAdjustedType();
 6948 QualType DecayedType::getPointeeType() const {
 6949   QualType Decayed = getDecayedType();
tools/clang/include/clang/AST/TypeLoc.h
   65   TypeLoc(QualType ty, void *opaqueData)
  122   static unsigned getFullDataSizeForType(QualType Ty);
  126   static unsigned getLocalAlignmentForType(QualType Ty);
  130   QualType getType() const {
  131     return QualType::getFromOpaquePtr(Ty);
  135     return QualType::getFromOpaquePtr(Ty).getTypePtr();
  455   unsigned getInnerTypeSize(QualType _) const {
  467   unsigned getNextTypeAlign(QualType T) const {
  473   TypeLoc getNextTypeLoc(QualType T) const {
  901   QualType getInnerType() const {
 1040   QualType getInnerType() const {
 1112   QualType getInnerType() const { return getTypePtr()->getUnderlyingType(); }
 1157   QualType getInnerType() const {
 1181   QualType getInnerType() const {
 1231   QualType getInnerType() const {
 1321   QualType getInnerType() const {
 1474   QualType getInnerType() const { return getTypePtr()->getReturnType(); }
 1542   QualType getInnerType() const { return getTypePtr()->getElementType(); }
 1739   QualType getInnerType() const {
 1872   QualType getUnderlyingType() const {
 2011   QualType getInnerType() const {
 2231   QualType getInnerType() const {
 2290   QualType getInnerType() const {
 2313   QualType getInnerType() const { return this->getTypePtr()->getElementType(); }
tools/clang/include/clang/AST/TypeOrdering.h
   29   bool operator()(QualType T1, QualType T2) const {
   29   bool operator()(QualType T1, QualType T2) const {
   40     static inline clang::QualType getEmptyKey() { return clang::QualType(); }
   42     static inline clang::QualType getTombstoneKey() {
   44       return QualType::getFromOpaquePtr(reinterpret_cast<clang::Type *>(-1));
   47     static unsigned getHashValue(clang::QualType Val) {
   52     static bool isEqual(clang::QualType LHS, clang::QualType RHS) {
   52     static bool isEqual(clang::QualType LHS, clang::QualType RHS) {
tools/clang/include/clang/AST/TypeVisitor.h
   68   RetTy Visit(const Type *T) {
   87   RetTy VisitType(const Type*) { return RetTy(); }
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
  139 using TypeMatcher = internal::Matcher<QualType>;
 2416 extern const internal::VariadicAllOfMatcher<QualType> qualType;
 2484   const QualType ArgumentType = Node.getTypeOfArgument();
 3035   const QualType TypeDecl = Node.getReceiverType();
 3272   QualType QT = internal::getUnderlyingType(Node);
 3300   QualType QT = internal::getUnderlyingType(Node);
 4649   const QualType NodeType = Node.getTypeAsWritten();
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  120 inline QualType getUnderlyingType(const Expr &Node) { return Node.getType(); }
  122 inline QualType getUnderlyingType(const ValueDecl &Node) {
  125 inline QualType getUnderlyingType(const TypedefNameDecl &Node) {
  128 inline QualType getUnderlyingType(const FriendDecl &Node) {
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  454   template <typename T> Matcher<T> unconditionalConvertTo() const;
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  520             std::is_same<T, QualType>::value &&
  520             std::is_same<T, QualType>::value &&
  534   bool matches(const T &Node,
  559   class TypeToQualType : public WrapperMatcherInterface<QualType> {
  564     bool matches(const QualType &Node, ASTMatchFinder *Finder,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  605 inline Matcher<QualType> DynTypedMatcher::convertTo<QualType>() const {
  605 inline Matcher<QualType> DynTypedMatcher::convertTo<QualType>() const {
  613   return unconditionalConvertTo<QualType>();
  751 class HasDeclarationMatcher : public WrapperMatcherInterface<T> {
  759   bool matches(const T &Node, ASTMatchFinder *Finder,
  766   bool matchesSpecialized(const QualType &Node, ASTMatchFinder *Finder,
  922       std::is_same<T, Decl>::value ||
  923       std::is_same<T, Stmt>::value ||
  924       std::is_same<T, QualType>::value ||
  924       std::is_same<T, QualType>::value ||
  925       std::is_same<T, Type>::value ||
  926       std::is_same<T, TypeLoc>::value ||
  927       std::is_same<T, NestedNameSpecifier>::value ||
  928       std::is_same<T, NestedNameSpecifierLoc>::value ||
  929       std::is_same<T, CXXCtorInitializer>::value;
  994   bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
  997     static_assert(std::is_base_of<Decl, T>::value ||
  998                   std::is_base_of<Stmt, T>::value ||
  999                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1000                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1001                   std::is_base_of<TypeLoc, T>::value ||
 1002                   std::is_base_of<QualType, T>::value,
 1002                   std::is_base_of<QualType, T>::value,
 1009   bool matchesDescendantOf(const T &Node,
 1013     static_assert(std::is_base_of<Decl, T>::value ||
 1014                   std::is_base_of<Stmt, T>::value ||
 1015                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1016                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1017                   std::is_base_of<TypeLoc, T>::value ||
 1018                   std::is_base_of<QualType, T>::value,
 1018                   std::is_base_of<QualType, T>::value,
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1096     TypeList<Decl, Stmt, NestedNameSpecifier, NestedNameSpecifierLoc, QualType,
 1112              QualType>;
 1118              MemberExpr, QualType, RecordType, TagType,
 1141     explicit Adaptor(const Matcher<T> &InnerMatcher)
 1146     template <typename To> operator Matcher<To>() const {
 1151     const Matcher<T> InnerMatcher;
 1155   static Adaptor<T> create(const Matcher<T> &InnerMatcher) {
 1155   static Adaptor<T> create(const Matcher<T> &InnerMatcher) {
 1160   Adaptor<T> operator()(const Matcher<T> &InnerMatcher) const {
 1160   Adaptor<T> operator()(const Matcher<T> &InnerMatcher) const {
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1268         ->template unconditionalConvertTo<T>();
 1285 class HasMatcher : public WrapperMatcherInterface<T> {
 1287   explicit HasMatcher(const Matcher<ChildT> &ChildMatcher)
 1290   bool matches(const T &Node, ASTMatchFinder *Finder,
 1304 class ForEachMatcher : public WrapperMatcherInterface<T> {
 1305   static_assert(IsBaseType<ChildT>::value,
 1309    explicit ForEachMatcher(const Matcher<ChildT> &ChildMatcher)
 1312   bool matches(const T& Node, ASTMatchFinder* Finder,
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
 1419   static_assert(IsBaseType<DescendantT>::value,
 1423   explicit HasDescendantMatcher(const Matcher<DescendantT> &DescendantMatcher)
 1426   bool matches(const T &Node, ASTMatchFinder *Finder,
 1480 class ForEachDescendantMatcher : public WrapperMatcherInterface<T> {
 1481   static_assert(IsBaseType<DescendantT>::value,
 1486       const Matcher<DescendantT> &DescendantMatcher)
 1489   bool matches(const T &Node, ASTMatchFinder *Finder,
 1575     : public VariadicFunction<BindableMatcher<T>, Matcher<T>,
 1575     : public VariadicFunction<BindableMatcher<T>, Matcher<T>,
 1576                               makeAllOfComposite<T>> {
 1609   explicit TypeLocTypeMatcher(const Matcher<QualType> &InnerMatcher)
 1627   explicit TypeTraverseMatcher(const Matcher<QualType> &InnerMatcher,
 1634     QualType NextNode = (Node.*TraverseFunction)();
 1681   using Self = TypeTraversePolymorphicMatcher<InnerTBase, Getter, MatcherImpl,
 1690       ArrayRef<const Matcher<InnerTBase> *> InnerMatchers)
 1704   const Matcher<InnerTBase> InnerMatcher;
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Analysis/AnyCall.h
  156   QualType getReturnType(ASTContext &Ctx) const {
tools/clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h
   26   bool isRefType(QualType RetTy, StringRef Prefix,
   29   bool isCocoaObjectRef(QualType T);
   34   bool isCFObjectRef(QualType T);
tools/clang/include/clang/Analysis/RetainSummaryManager.h
  606                                              StringRef FName, QualType RetTy);
  612     QualType RetTy,
  656   static bool isKnownSmartPointer(QualType QT);
  663                                   QualType ReceiverType={});
  677                                         QualType RetTy,
  681   getInstanceMethodSummary(const ObjCMessageExpr *ME, QualType ReceiverType);
  686                                                 Selector S, QualType RetTy);
  689   Optional<RetEffect> getRetEffectFromAnnotations(QualType RetTy,
  726   Optional<ObjKind> hasAnyEnabledAttrOf(const Decl *D, QualType QT);
  729   Optional<ObjKind> hasAnyEnabledAttrOf(const Decl *D, QualType QT);
tools/clang/include/clang/CodeGen/CGFunctionInfo.h
  135   static ABIArgInfo getSignExtend(QualType Ty, llvm::Type *T = nullptr) {
  145   static ABIArgInfo getZeroExtend(QualType Ty, llvm::Type *T = nullptr) {
  157   static ABIArgInfo getExtend(QualType Ty, llvm::Type *T = nullptr) {
  164   static ABIArgInfo getExtendInReg(QualType Ty, llvm::Type *T = nullptr) {
tools/clang/include/clang/CodeGen/CodeGenABITypes.h
   55                                                       QualType receiverType);
   78 llvm::Type *convertTypeForMemory(CodeGenModule &CGM, QualType T);
   94                                                        QualType QT);
  104                                                     QualType QT);
  114                                                     QualType QT);
  122     bool IsVolatile, QualType QT);
  130     bool IsVolatile, QualType QT);
  138                                                bool IsVolatile, QualType QT);
tools/clang/include/clang/CodeGen/SwiftCallingConv.h
   63   void addTypedData(QualType type, CharUnits begin);
tools/clang/include/clang/Frontend/MultiplexConsumer.h
   37   void TypeRead(serialization::TypeIdx Idx, QualType T) override;
tools/clang/include/clang/Index/USRGeneration.h
   78 bool generateUSRForType(QualType T, ASTContext &Ctx, SmallVectorImpl<char> &Buf);
tools/clang/include/clang/Sema/AnalysisBasedWarnings.h
   93                      const Decl *D, QualType BlockType);
tools/clang/include/clang/Sema/CodeCompleteConsumer.h
  166 QualType getDeclUsageType(ASTContext &C, const NamedDecl *ND);
  349   QualType PreferredType;
  352   QualType BaseType;
  371   CodeCompletionContext(Kind CCKind, QualType T,
  391   QualType getPreferredType() const { return PreferredType; }
  392   void setPreferredType(QualType T) { PreferredType = T; }
  396   QualType getBaseType() const { return BaseType; }
tools/clang/include/clang/Sema/DelayedDiagnostic.h
   64                  QualType BaseObjectType)
   96   QualType getBaseObjectType() const { return BaseObjectType; }
  123   QualType BaseObjectType;
  161                                              QualType type,
  221   QualType getForbiddenTypeOperand() const {
  223     return QualType::getFromOpaquePtr(ForbiddenTypeData.OperandType);
tools/clang/include/clang/Sema/ExternalSemaSource.h
  221                                                 QualType T) {
tools/clang/include/clang/Sema/Initialization.h
  138   QualType Type;
  217   InitializedEntity(EntityKind Kind, SourceLocation Loc, QualType Type,
  235   InitializedEntity(IdentifierInfo *VarID, QualType FieldType, SourceLocation Loc)
  257                                                QualType Type) {
  274                                                QualType Type,
  286                                             QualType Type, bool NRVO) {
  291                                             QualType Type) {
  296                                            QualType Type, bool NRVO) {
  301                                                    QualType Type, bool NRVO) {
  308                                                QualType Type, bool NRVO) {
  313   static InitializedEntity InitializeNew(SourceLocation NewLoc, QualType Type) {
  318   static InitializedEntity InitializeTemporary(QualType Type) {
  329                                                QualType Type) {
  337                                                    QualType Type) {
  350   static InitializedEntity InitializeDelegation(QualType Type) {
  392                                                    QualType FieldType,
  414   QualType getType() const { return Type; }
  905     QualType Type;
 1081   QualType FailedIncompleteType;
 1158                      QualType *ResultType = nullptr);
 1228   void AddDerivedToBaseCastStep(QualType BaseType,
 1236   void AddReferenceBindingStep(QualType T, bool BindingTemporary);
 1248   void AddExtraneousCopyToTemporary(QualType T);
 1252   void AddFinalCopy(QualType T);
 1258                              QualType T,
 1263   void AddQualificationConversionStep(QualType Ty,
 1268   void AddAtomicConversionStep(QualType Ty);
 1272                                  QualType T, bool TopLevelOfInitList = false);
 1275   void AddListInitializationStep(QualType T);
 1284                                         QualType T,
 1289   void AddZeroInitializationStep(QualType T);
 1296   void AddCAssignmentStep(QualType T);
 1299   void AddStringInitStep(QualType T);
 1303   void AddObjCObjectConversionStep(QualType T);
 1306   void AddArrayInitLoopStep(QualType T, QualType EltTy);
 1306   void AddArrayInitLoopStep(QualType T, QualType EltTy);
 1309   void AddArrayInitStep(QualType T, bool IsGNUExtension);
 1312   void AddParenthesizedArrayInitStep(QualType T);
 1315   void AddPassByIndirectCopyRestoreStep(QualType T, bool shouldCopy);
 1319   void AddProduceObjCObjectStep(QualType T);
 1323   void AddStdInitializerListConstructionStep(QualType T);
 1327   void AddOCLSamplerInitStep(QualType T);
 1331   void AddOCLZeroOpaqueTypeStep(QualType T);
 1335   void AddOCLIntelSubgroupAVCZeroInitStep(QualType T);
 1339   void RewrapReferenceInitList(QualType T, InitListExpr *Syntactic);
 1367   void setIncompleteTypeFailure(QualType IncompleteType) {
tools/clang/include/clang/Sema/Lookup.h
  415   QualType getBaseObjectType() const {
  420   void setBaseObjectType(QualType T) {
  729   QualType BaseObjectType;
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  353                                         QualType T) override;
tools/clang/include/clang/Sema/Overload.h
  330     void setFromType(QualType T) { FromTypePtr = T.getAsOpaquePtr(); }
  332     void setToType(unsigned Idx, QualType T) {
  337     void setAllToTypes(QualType T) {
  343     QualType getFromType() const {
  344       return QualType::getFromOpaquePtr(FromTypePtr);
  347     QualType getToType(unsigned Idx) const {
  349       return QualType::getFromOpaquePtr(ToTypePtrs[Idx]);
  361                      APValue &ConstantValue, QualType &ConstantType,
  423     QualType getFromType() const {
  424       return QualType::getFromOpaquePtr(FromTypePtr);
  427     QualType getToType() const {
  428       return QualType::getFromOpaquePtr(ToTypePtr);
  431     void setFromType(QualType T) { FromTypePtr = T.getAsOpaquePtr(); }
  432     void setToType(QualType T) { ToTypePtr = T.getAsOpaquePtr(); }
  485     void init(FailureKind K, Expr *From, QualType To) {
  490     void init(FailureKind K, QualType From, QualType To) {
  490     void init(FailureKind K, QualType From, QualType To) {
  497     QualType getFromType() const { return QualType::getFromOpaquePtr(FromTy); }
  497     QualType getFromType() const { return QualType::getFromOpaquePtr(FromTy); }
  498     QualType getToType() const { return QualType::getFromOpaquePtr(ToTy); }
  498     QualType getToType() const { return QualType::getFromOpaquePtr(ToTy); }
  505     void setFromType(QualType T) { FromTy = T.getAsOpaquePtr(); }
  506     void setToType(QualType T) { ToTy = T.getAsOpaquePtr(); }
  641                 Expr *FromExpr, QualType ToType) {
  648                 QualType FromType, QualType ToType) {
  648                 QualType FromType, QualType ToType) {
  663     void setAsIdentityConversion(QualType T) {
  780     QualType BuiltinParamTypes[3];
  869         QualType STy = Surrogate->getConversionType();
tools/clang/include/clang/Sema/Ownership.h
   55     using Traits = llvm::PointerLikeTypeTraits<PtrTy>;
   60     static OpaquePtr make(PtrTy P) { OpaquePtr OP; OP.set(P); return OP; }
   80     PtrTy get() const {
   84     void set(PtrTy P) {
   99     static UnionOpaquePtr make(OpaquePtr<T> P) {
  104     OpaquePtr<T> get() const { return OpaquePtr<T>::getFromOpaquePtr(Ptr); }
  104     OpaquePtr<T> get() const { return OpaquePtr<T>::getFromOpaquePtr(Ptr); }
  105     operator OpaquePtr<T>() const { return get(); }
  107     UnionOpaquePtr &operator=(OpaquePtr<T> P) {
  244   using ParsedType = OpaquePtr<QualType>;
  245   using UnionParsedType = UnionOpaquePtr<QualType>;
tools/clang/include/clang/Sema/ScopeInfo.h
  529   QualType CaptureType;
  555           SourceLocation Loc, SourceLocation EllipsisLoc, QualType CaptureType,
  565           QualType CaptureType, const bool ByCopy, bool Invalid)
  573           SourceLocation Loc, QualType CaptureType)
  624   QualType getCaptureType() const { return CaptureType; }
  658   QualType ReturnType;
  662                   QualType CaptureType, bool Invalid) {
  669                          QualType CaptureType) {
  674   void addThisCapture(bool isNested, SourceLocation Loc, QualType CaptureType,
  725   QualType FunctionType;
 1029                                                QualType CaptureType,
tools/clang/include/clang/Sema/Sema.h
  287   explicit PreferredTypeBuilder(QualType Type) : Type(Type) {}
  299                              llvm::function_ref<QualType()> ComputeType);
  308   void enterTypeCast(SourceLocation Tok, QualType CastType);
  310   QualType get(SourceLocation Tok) const {
  324   QualType Type;
  327   llvm::function_ref<QualType()> ComputeType;
  364                                       QualType ResultTy,
  365                                       ArrayRef<QualType> Args);
  370   typedef OpaquePtr<QualType> TypeTy;
  784     QualType SavedCXXThisTypeOverride;
  929   QualType NSNumberPointer;
  932   QualType NSValuePointer;
  941   QualType NSStringPointer;
  962   QualType QIDNSCopying;
 1266   llvm::SmallVector<QualType, 4> CurrentParameterCopyTypes;
 1292   void addImplicitTypedef(StringRef Name, QualType T);
 1385         const SemaDiagnosticBuilder &Diag, const T &Value) {
 1408   getFixItZeroInitializerForType(QualType T, SourceLocation Loc) const;
 1409   std::string getFixItZeroLiteralForType(QualType T, SourceLocation Loc) const;
 1468                        QualType BlockType = QualType());
 1517   QualType BuildQualifiedType(QualType T, SourceLocation Loc, Qualifiers Qs,
 1517   QualType BuildQualifiedType(QualType T, SourceLocation Loc, Qualifiers Qs,
 1519   QualType BuildQualifiedType(QualType T, SourceLocation Loc, unsigned CVRA,
 1519   QualType BuildQualifiedType(QualType T, SourceLocation Loc, unsigned CVRA,
 1521   QualType BuildPointerType(QualType T,
 1521   QualType BuildPointerType(QualType T,
 1523   QualType BuildReferenceType(QualType T, bool LValueRef,
 1523   QualType BuildReferenceType(QualType T, bool LValueRef,
 1525   QualType BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM,
 1525   QualType BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM,
 1528   QualType BuildVectorType(QualType T, Expr *VecSize, SourceLocation AttrLoc);
 1528   QualType BuildVectorType(QualType T, Expr *VecSize, SourceLocation AttrLoc);
 1529   QualType BuildExtVectorType(QualType T, Expr *ArraySize,
 1529   QualType BuildExtVectorType(QualType T, Expr *ArraySize,
 1531   QualType BuildAddressSpaceAttr(QualType &T, LangAS ASIdx, Expr *AddrSpace,
 1531   QualType BuildAddressSpaceAttr(QualType &T, LangAS ASIdx, Expr *AddrSpace,
 1535   QualType BuildAddressSpaceAttr(QualType &T, Expr *AddrSpace,
 1535   QualType BuildAddressSpaceAttr(QualType &T, Expr *AddrSpace,
 1538   bool CheckQualifiedFunctionForTypeId(QualType T, SourceLocation Loc);
 1540   bool CheckFunctionReturnType(QualType T, SourceLocation Loc);
 1569   QualType BuildFunctionType(QualType T,
 1569   QualType BuildFunctionType(QualType T,
 1570                              MutableArrayRef<QualType> ParamTypes,
 1574   QualType BuildMemberPointerType(QualType T, QualType Class,
 1574   QualType BuildMemberPointerType(QualType T, QualType Class,
 1574   QualType BuildMemberPointerType(QualType T, QualType Class,
 1577   QualType BuildBlockPointerType(QualType T,
 1577   QualType BuildBlockPointerType(QualType T,
 1579   QualType BuildParenType(QualType T);
 1579   QualType BuildParenType(QualType T);
 1580   QualType BuildAtomicType(QualType T, SourceLocation Loc);
 1580   QualType BuildAtomicType(QualType T, SourceLocation Loc);
 1581   QualType BuildReadPipeType(QualType T,
 1581   QualType BuildReadPipeType(QualType T,
 1583   QualType BuildWritePipeType(QualType T,
 1583   QualType BuildWritePipeType(QualType T,
 1587   TypeSourceInfo *GetTypeForDeclaratorCast(Declarator &D, QualType FromTy);
 1590   ParsedType CreateParsedType(QualType T, TypeSourceInfo *TInfo);
 1593   static QualType GetTypeFromParser(ParsedType Ty,
 1600   bool CheckSpecifiedExceptionType(QualType &T, SourceRange Range);
 1601   bool CheckDistantExceptionSpec(QualType T);
 1610   bool handlerCanCatch(QualType HandlerType, QualType ExceptionType);
 1610   bool handlerCanCatch(QualType HandlerType, QualType ExceptionType);
 1636     virtual void diagnose(Sema &S, SourceLocation Loc, QualType T) = 0;
 1650   static QualType getPrintable(QualType T) { return T; }
 1650   static QualType getPrintable(QualType T) { return T; }
 1658     std::tuple<const Ts &...> Args;
 1669     BoundTypeDiagnoser(unsigned DiagID, const Ts &...Args)
 1674     void diagnose(Sema &S, SourceLocation Loc, QualType T) override {
 1693   bool RequireCompleteTypeImpl(SourceLocation Loc, QualType T,
 1783   bool isCompleteType(SourceLocation Loc, QualType T) {
 1786   bool RequireCompleteType(SourceLocation Loc, QualType T,
 1788   bool RequireCompleteType(SourceLocation Loc, QualType T,
 1792   bool RequireCompleteType(SourceLocation Loc, QualType T, unsigned DiagID,
 1793                            const Ts &...Args) {
 1794     BoundTypeDiagnoser<Ts...> Diagnoser(DiagID, Args...);
 1808   bool RequireLiteralType(SourceLocation Loc, QualType T,
 1810   bool RequireLiteralType(SourceLocation Loc, QualType T, unsigned DiagID);
 1813   bool RequireLiteralType(SourceLocation Loc, QualType T, unsigned DiagID,
 1819   QualType getElaboratedType(ElaboratedTypeKeyword Keyword,
 1820                              const CXXScopeSpec &SS, QualType T,
 1823   QualType BuildTypeofExprType(Expr *E, SourceLocation Loc);
 1826   QualType BuildDecltypeType(Expr *E, SourceLocation Loc,
 1828   QualType BuildUnaryTransformType(QualType BaseType,
 1828   QualType BuildUnaryTransformType(QualType BaseType,
 2138   void CheckCastAlign(Expr *Op, QualType T, SourceRange TRange);
 2195                                       QualType NewT, QualType OldT);
 2195                                       QualType NewT, QualType OldT);
 2204                                           QualType T);
 2207                               QualType T, TypeSourceInfo *TSInfo,
 2257   void checkNonTrivialCUnion(QualType QT, SourceLocation Loc,
 2337                                          QualType ReturnTy, NamedDecl *D);
 2539   FieldDecl *CheckFieldDecl(DeclarationName Name, QualType T,
 2672                               QualType EnumUnderlyingTy, bool IsFixed,
 2738   TypedefDecl *ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
 2880   TryImplicitConversion(Expr *From, QualType ToType,
 2887   bool IsIntegralPromotion(Expr *From, QualType FromType, QualType ToType);
 2887   bool IsIntegralPromotion(Expr *From, QualType FromType, QualType ToType);
 2888   bool IsFloatingPointPromotion(QualType FromType, QualType ToType);
 2888   bool IsFloatingPointPromotion(QualType FromType, QualType ToType);
 2889   bool IsComplexPromotion(QualType FromType, QualType ToType);
 2889   bool IsComplexPromotion(QualType FromType, QualType ToType);
 2890   bool IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
 2890   bool IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
 2892                            QualType& ConvertedType, bool &IncompatibleObjC);
 2893   bool isObjCPointerConversion(QualType FromType, QualType ToType,
 2893   bool isObjCPointerConversion(QualType FromType, QualType ToType,
 2894                                QualType& ConvertedType, bool &IncompatibleObjC);
 2895   bool isObjCWritebackConversion(QualType FromType, QualType ToType,
 2895   bool isObjCWritebackConversion(QualType FromType, QualType ToType,
 2896                                  QualType &ConvertedType);
 2897   bool IsBlockPointerConversion(QualType FromType, QualType ToType,
 2897   bool IsBlockPointerConversion(QualType FromType, QualType ToType,
 2898                                 QualType& ConvertedType);
 2903                                   QualType FromType, QualType ToType);
 2903                                   QualType FromType, QualType ToType);
 2907   bool CheckPointerConversion(Expr *From, QualType ToType,
 2912   bool IsMemberPointerConversion(Expr *From, QualType FromType, QualType ToType,
 2912   bool IsMemberPointerConversion(Expr *From, QualType FromType, QualType ToType,
 2914                                  QualType &ConvertedType);
 2915   bool CheckMemberPointerConversion(Expr *From, QualType ToType,
 2919   bool IsQualificationConversion(QualType FromType, QualType ToType,
 2919   bool IsQualificationConversion(QualType FromType, QualType ToType,
 2921   bool IsFunctionConversion(QualType FromType, QualType ToType,
 2921   bool IsFunctionConversion(QualType FromType, QualType ToType,
 2922                             QualType &ResultTy);
 2923   bool DiagnoseMultipleUserDefinedConversion(Expr *From, QualType ToType);
 2928                                              QualType ResultType,
 2964   ExprResult CheckConvertedConstantExpression(Expr *From, QualType T,
 2966   ExprResult CheckConvertedConstantExpression(Expr *From, QualType T,
 2982     virtual bool match(QualType T) = 0;
 2987     diagnoseNoMatch(Sema &S, SourceLocation Loc, QualType T) = 0;
 2991     diagnoseIncomplete(Sema &S, SourceLocation Loc, QualType T) = 0;
 2996         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) = 0;
 2996         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) = 0;
 3000     noteExplicitConv(Sema &S, CXXConversionDecl *Conv, QualType ConvTy) = 0;
 3005     diagnoseAmbiguous(Sema &S, SourceLocation Loc, QualType T) = 0;
 3009     noteAmbiguous(Sema &S, CXXConversionDecl *Conv, QualType ConvTy) = 0;
 3014         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) = 0;
 3014         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) = 0;
 3029     bool match(QualType T) override;
 3032     diagnoseNoMatch(Sema &S, SourceLocation Loc, QualType T) override {
 3039     diagnoseNotInt(Sema &S, SourceLocation Loc, QualType T) = 0;
 3097                           QualType ObjectType,
 3105                           CXXRecordDecl *ActingContext, QualType ObjectType,
 3117                                   QualType ObjectType,
 3132       FunctionTemplateDecl *FunctionTemplate, ArrayRef<QualType> ParamTypes,
 3135       CXXRecordDecl *ActingContext = nullptr, QualType ObjectType = QualType(),
 3140       CXXRecordDecl *ActingContext, Expr *From, QualType ToType,
 3145       CXXRecordDecl *ActingContext, Expr *From, QualType ToType,
 3162   void AddBuiltinCandidate(QualType *ParamTys, ArrayRef<Expr *> Args,
 3180       QualType DestType = QualType(), bool TakingAddress = false);
 3184   void NoteAllOverloadCandidates(Expr *E, QualType DestType = QualType(),
 3232   QualType ExtractUnqualifiedFunctionType(QualType PossiblyAFunctionType);
 3232   QualType ExtractUnqualifiedFunctionType(QualType PossiblyAFunctionType);
 3236                                      QualType TargetType,
 3258                       QualType DestTypeForComplaining = QualType(),
 3336   bool CheckCallReturnType(QualType ReturnType, SourceLocation Loc,
 3557                                     QualType T1, QualType T2,
 3557                                     QualType T1, QualType T2,
 3577                                                     ArrayRef<QualType> ArgTys,
 3726   bool isValidPointerAttrType(QualType T, bool RefOkay = false);
 3747   void adjustMemberFunctionCC(QualType &T, bool IsStatic, bool IsCtorOrDtor,
 3753   bool hasExplicitCallingConv(QualType T);
 3757   const AttributedType *getCallingConvAttributedType(QualType T) const;
 3838                       QualType T,
 3856                                        QualType T,
 3990                               QualType ObjectType=QualType());
 4175   typedef std::pair<StringRef, QualType> CapturedParamNameType;
 4197   VarDecl *getCopyElisionCandidate(QualType ReturnType, Expr *E,
 4199   bool isCopyElisionCandidate(QualType ReturnType, const VarDecl *VD,
 4237   VarDecl *BuildObjCExceptionDecl(TypeSourceInfo *TInfo, QualType ExceptionType,
 4321   void diagnoseNullableToNonnullConversion(QualType DstType, QualType SrcType,
 4321   void diagnoseNullableToNonnullConversion(QualType DstType, QualType SrcType,
 4456                           QualType &CaptureType,
 4457                           QualType &DeclRefType,
 4470   QualType getCapturedDeclRefType(VarDecl *Var, SourceLocation Loc);
 4475   void MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T);
 4484                             bool (*IsPlausibleResult)(QualType) = nullptr);
 4487   bool tryExprAsCall(Expr &E, QualType &ZeroArgCallReturnTy,
 4542   DeclRefExpr *BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
 4546   BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
 4553   BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
 4653   QualType CheckAddressOfOperand(ExprResult &Operand, SourceLocation OpLoc);
 4671   bool CheckUnaryExprOrTypeTraitOperand(QualType ExprType, SourceLocation OpLoc,
 4702       Expr *Base, QualType BaseType, SourceLocation OpLoc, bool IsArrow,
 4710   BuildMemberReferenceExpr(Expr *Base, QualType BaseType, SourceLocation OpLoc,
 4727   bool CheckQualifiedMemberReference(Expr *BaseExpr, QualType BaseType,
 4731   ExprResult ActOnDependentMemberExpr(Expr *Base, QualType BaseType,
 4752                   const DeclarationNameInfo &MemberNameInfo, QualType Ty,
 4760                   const DeclarationNameInfo &MemberNameInfo, QualType Ty,
 4808   CastKind PrepareScalarCast(ExprResult &src, QualType destType);
 5025   QualType CheckComparisonCategoryType(ComparisonCategoryType Kind,
 5030   bool isStdInitializerList(QualType Ty, QualType *Element);
 5030   bool isStdInitializerList(QualType Ty, QualType *Element);
 5036   QualType BuildStdInitializerList(QualType Element, SourceLocation Loc);
 5036   QualType BuildStdInitializerList(QualType Element, SourceLocation Loc);
 5110   BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
 5121   BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
 5132   BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
 5171     SmallVector<QualType, 4> Exceptions;
 5196     const QualType *data() const { return Exceptions.data(); }
 5278                                    SmallVectorImpl<QualType> &Exceptions,
 5448   void CheckCompatibleReinterpretCast(QualType SrcType, QualType DestType,
 5448   void CheckCompatibleReinterpretCast(QualType SrcType, QualType DestType,
 5475   ExprResult BuildCXXTypeId(QualType TypeInfoType,
 5479   ExprResult BuildCXXTypeId(QualType TypeInfoType,
 5490   ExprResult BuildCXXUuidof(QualType TypeInfoType,
 5494   ExprResult BuildCXXUuidof(QualType TypeInfoType,
 5522   Expr *BuildCXXThisExpr(SourceLocation Loc, QualType Type, bool IsImplicit);
 5528   QualType getCurrentThisType();
 5533   QualType CXXThisTypeOverride;
 5539     QualType OldCXXThisTypeOverride;
 5576   bool isThisOutsideMemberFunctionBody(QualType BaseType);
 5596   bool CheckCXXThrowOperand(SourceLocation ThrowLoc, QualType ThrowTy, Expr *E);
 5626                          QualType AllocType,
 5641   bool CheckAllocatedType(QualType AllocType, SourceLocation Loc,
 5661                                QualType AllocType, bool IsArray,
 5667   void DeclareGlobalAllocationFunction(DeclarationName Name, QualType Return,
 5668                                        ArrayRef<QualType> Params);
 5767   CreateMaterializeTemporaryExpr(QualType T, Expr *Temporary,
 5781   DeclContext *computeDeclContext(QualType T);
 5838                        SourceLocation ColonColonLoc, QualType ObjectType)
 6024   QualType buildLambdaInitCaptureInitialization(
 6035                                           QualType InitCaptureType,
 6102   QualType
 6274   MemInitResult BuildBaseInitializer(QualType BaseType,
 6414   QualType CheckConstructorDeclarator(Declarator &D, QualType R,
 6414   QualType CheckConstructorDeclarator(Declarator &D, QualType R,
 6417   QualType CheckDestructorDeclarator(Declarator &D, QualType R,
 6417   QualType CheckDestructorDeclarator(Declarator &D, QualType R,
 6420   void CheckConversionDeclarator(Declarator &D, QualType &R,
 6423   void CheckDeductionGuideDeclarator(Declarator &D, QualType &R,
 6460   bool IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base);
 6460   bool IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base);
 6461   bool IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base,
 6461   bool IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base,
 6467   bool CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 6467   bool CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 6471   bool CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 6471   bool CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 6547                                      QualType objectType = QualType());
 6563                                     QualType Base, QualType Derived,
 6563                                     QualType Base, QualType Derived,
 6570                           QualType BaseType);
 6573                                             QualType objectType);
 6597   bool isAbstractType(SourceLocation Loc, QualType T);
 6598   bool RequireNonAbstractType(SourceLocation Loc, QualType T,
 6601   bool RequireNonAbstractType(SourceLocation Loc, QualType T, unsigned DiagID,
 6648                           QualType ObjectType, bool EnteringContext,
 6709   QualType CheckNonTypeTemplateParameterType(TypeSourceInfo *&TSI,
 6711   QualType CheckNonTypeTemplateParameterType(QualType T, SourceLocation Loc);
 6711   QualType CheckNonTypeTemplateParameterType(QualType T, SourceLocation Loc);
 6770                                                     QualType NTTPType,
 6780   QualType CheckTemplateIdType(TemplateName Template,
 6975                                    QualType InstantiatedParamType, Expr *Arg,
 6983                                           QualType ParamType,
 7070   QualType CheckTypenameType(ElaboratedTypeKeyword Keyword,
 7274   void collectUnexpandedParameterPacks(QualType T,
 7328   QualType CheckPackExpansion(QualType Pattern,
 7328   QualType CheckPackExpansion(QualType Pattern,
 7401   Optional<unsigned> getNumArgumentsInExpansion(QualType T,
 7450   QualType adjustCCAndNoReturn(QualType ArgFunctionType, QualType FunctionType,
 7450   QualType adjustCCAndNoReturn(QualType ArgFunctionType, QualType FunctionType,
 7450   QualType adjustCCAndNoReturn(QualType ArgFunctionType, QualType FunctionType,
 7528       SmallVectorImpl<QualType> &ParamTypes, QualType *FunctionType,
 7528       SmallVectorImpl<QualType> &ParamTypes, QualType *FunctionType,
 7534     OriginalCallArg(QualType OriginalParamType, bool DecomposedParam,
 7535                     unsigned ArgIdx, QualType OriginalArgType)
 7540     QualType OriginalParamType;
 7543     QualType OriginalArgType;
 7560       llvm::function_ref<bool(ArrayRef<QualType>)> CheckNonDependent);
 7565                           QualType ArgFunctionType,
 7572                           QualType ToType,
 7584   QualType SubstAutoType(QualType TypeWithAuto, QualType Replacement);
 7584   QualType SubstAutoType(QualType TypeWithAuto, QualType Replacement);
 7584   QualType SubstAutoType(QualType TypeWithAuto, QualType Replacement);
 7587                                           QualType Replacement);
 7590   QualType ReplaceAutoType(QualType TypeWithAuto, QualType Replacement);
 7590   QualType ReplaceAutoType(QualType TypeWithAuto, QualType Replacement);
 7590   QualType ReplaceAutoType(QualType TypeWithAuto, QualType Replacement);
 7600   DeduceAutoType(TypeSourceInfo *AutoType, Expr *&Initializer, QualType &Result,
 7603   DeduceAutoType(TypeLoc AutoTypeLoc, Expr *&Initializer, QualType &Result,
 7614   QualType DeduceTemplateSpecializationFromInitializer(
 7618   QualType deduceVarTypeFromInitializer(VarDecl *VDecl, DeclarationName Name,
 7619                                         QualType Type, TypeSourceInfo *TSI,
 7642                      bool Complain = true, QualType TargetType = QualType());
 7826   llvm::DenseSet<QualType> InstantiatedNonDependentTypes;
 8308   QualType SubstType(QualType T,
 8308   QualType SubstType(QualType T,
 8326                           SmallVectorImpl<QualType> &ExceptionStorage,
 8336                       SmallVectorImpl<QualType> &ParamTypes,
 8655   QualType BuildObjCTypeParamType(const ObjCTypeParamDecl *Decl,
 8663   QualType BuildObjCObjectType(QualType BaseType,
 8663   QualType BuildObjCObjectType(QualType BaseType,
 8753   ObjCMethodDecl *LookupMethodInObjectType(Selector Sel, QualType Ty,
 8765                             SourceLocation SuperLoc, QualType SuperType,
 8803                                QualType ReceiverType,
 8813   ExprResult BuildClassMessageImplicit(QualType ReceiverType,
 8829                                   QualType ReceiverType,
 8840                                           QualType ReceiverType,
 8868   void CheckTollFreeBridgeCast(QualType castType, Expr *castExpr);
 8870   void CheckObjCBridgeRelatedCast(QualType castType, Expr *castExpr);
 8872   bool CheckTollFreeBridgeStaticCast(QualType castType, Expr *castExpr,
 8876                                         QualType DestType, QualType SrcType,
 8876                                         QualType DestType, QualType SrcType,
 8884                                          QualType DestType, QualType SrcType,
 8884                                          QualType DestType, QualType SrcType,
 8887   bool ConversionToObjCStringLiteralCheck(QualType DstType, Expr *&SrcExpr,
 8890   bool checkInitMethod(ObjCMethodDecl *method, QualType receiverTypeIfCall);
 9149   bool checkNSReturnsRetainedReturnType(SourceLocation loc, QualType type);
 9209   void setOpenCLExtensionForType(QualType T, llvm::StringRef Exts);
 9220   void setCurrentOpenCLExtensionForType(QualType T);
 9233   bool checkOpenCLDisabledTypeDeclSpec(const DeclSpec &DS, QualType T);
 9423   QualType ActOnOpenMPDeclareReductionType(SourceLocation TyLoc,
 9428       ArrayRef<std::pair<QualType, SourceLocation>> ReductionTypes,
 9448   QualType ActOnOpenMPDeclareMapperType(SourceLocation TyLoc,
 9452       Scope *S, DeclContext *DC, DeclarationName Name, QualType MapperType,
 9457                                                 Scope *S, QualType MapperType,
 9768                              OpenMPLinearClauseKind LinKind, QualType Type);
10112   ExprResult ImpCastExprToType(Expr *E, QualType Type, CastKind CK,
10120   static CastKind ScalarTypeToBooleanCastKind(QualType ScalarTy);
10185   VarArgKind isValidVarArgType(const QualType &Ty);
10214   QualType UsualArithmeticConversions(ExprResult &LHS, ExprResult &RHS,
10300                                 QualType DstType, QualType SrcType,
10300                                 QualType DstType, QualType SrcType,
10312   void DiagnoseAssignmentEnum(QualType DstType, QualType SrcType,
10312   void DiagnoseAssignmentEnum(QualType DstType, QualType SrcType,
10319                                                QualType LHSType,
10320                                                QualType RHSType);
10325   AssignConvertType CheckAssignmentConstraints(QualType LHSType,
10345       QualType LHSType, ExprResult &RHS, bool Diagnose = true,
10350   AssignConvertType CheckTransparentUnionArgumentConstraints(QualType ArgType,
10353   bool IsStringLiteralToNonConstPointerConversion(Expr *From, QualType ToType);
10355   bool CheckExceptionSpecCompatibility(Expr *From, QualType ToType);
10357   ExprResult PerformImplicitConversion(Expr *From, QualType ToType,
10360   ExprResult PerformImplicitConversion(Expr *From, QualType ToType,
10364   ExprResult PerformImplicitConversion(Expr *From, QualType ToType,
10369   ExprResult PerformImplicitConversion(Expr *From, QualType ToType,
10375       Expr *E, QualType Ty, ExprValueKind VK = VK_RValue,
10382   QualType InvalidOperands(SourceLocation Loc, ExprResult &LHS,
10384   QualType InvalidLogicalVectorOperands(SourceLocation Loc, ExprResult &LHS,
10386   QualType CheckPointerToMemberOperands( // C++ 5.5
10389   QualType CheckMultiplyDivideOperands( // C99 6.5.5
10392   QualType CheckRemainderOperands( // C99 6.5.5
10395   QualType CheckAdditionOperands( // C99 6.5.6
10397     BinaryOperatorKind Opc, QualType* CompLHSTy = nullptr);
10398   QualType CheckSubtractionOperands( // C99 6.5.6
10400     QualType* CompLHSTy = nullptr);
10401   QualType CheckShiftOperands( // C99 6.5.7
10405   QualType CheckCompareOperands( // C99 6.5.8/9
10408   QualType CheckBitwiseOperands( // C99 6.5.[10...12]
10411   QualType CheckLogicalOperands( // C99 6.5.[13,14]
10417   QualType CheckAssignmentOperands( // C99 6.5.16.[1,2]
10418     Expr *LHSExpr, ExprResult &RHS, SourceLocation Loc, QualType CompoundType);
10428   QualType CheckConditionalOperands( // C99 6.5.15
10431   QualType CXXCheckConditionalOperands( // C++ 5.16
10434   QualType FindCompositePointerType(SourceLocation Loc, Expr *&E1, Expr *&E2,
10436   QualType FindCompositePointerType(SourceLocation Loc,
10440     QualType Composite =
10447   QualType FindCompositeObjCPointerType(ExprResult &LHS, ExprResult &RHS,
10458   QualType CheckVectorOperands(ExprResult &LHS, ExprResult &RHS,
10461   QualType GetSignedVectorType(QualType V);
10461   QualType GetSignedVectorType(QualType V);
10462   QualType CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS,
10465   QualType CheckVectorLogicalOperands(ExprResult &LHS, ExprResult &RHS,
10468   bool areLaxCompatibleVectorTypes(QualType srcType, QualType destType);
10468   bool areLaxCompatibleVectorTypes(QualType srcType, QualType destType);
10469   bool isLaxVectorConversion(QualType srcType, QualType destType);
10469   bool isLaxVectorConversion(QualType srcType, QualType destType);
10472   bool CheckForConstantInitializer(Expr *e, QualType t);
10492   CompareReferenceRelationship(SourceLocation Loc, QualType T1, QualType T2,
10492   CompareReferenceRelationship(SourceLocation Loc, QualType T1, QualType T2,
10497   ExprResult checkUnknownAnyCast(SourceRange TypeRange, QualType CastType,
10503   ExprResult forceUnknownAnyToType(Expr *E, QualType ToType);
10508                                 Expr *result, QualType &paramType);
10514   bool CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty,
10514   bool CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty,
10519   ExprResult prepareVectorSplat(QualType VectorTy, Expr *SplattedExpr);
10526   ExprResult CheckExtVectorCast(SourceRange R, QualType DestTy, Expr *CastExpr,
10529   ExprResult BuildCXXFunctionalCastExpr(TypeSourceInfo *TInfo, QualType Type,
10539                                           QualType castType, Expr *&op,
10549   bool CheckObjCARCUnavailableWeakConversion(QualType castType,
10550                                              QualType ExprType);
10560   bool checkUnsafeAssigns(SourceLocation Loc, QualType LHS, Expr *RHS);
10570   bool CheckMessageArgumentTypes(const Expr *Receiver, QualType ReceiverType,
10576                                  QualType &ReturnType, ExprValueKind &VK);
10581   QualType getMessageSendResultType(const Expr *Receiver, QualType ReceiverType,
10581   QualType getMessageSendResultType(const Expr *Receiver, QualType ReceiverType,
10592   void EmitRelatedResultTypeNoteForReturn(QualType destType);
10720                             QualType FieldTy, bool IsMsStruct,
10829                                                const T &Value) {
11111   void CodeCompleteExpression(Scope *S, QualType PreferredType,
11116                                        QualType PreferredType);
11118                                      QualType PreferredType);
11127   QualType ProduceCallSignatureHelp(Scope *S, Expr *Fn, ArrayRef<Expr *> Args,
11129   QualType ProduceConstructorSignatureHelp(Scope *S, QualType Type,
11129   QualType ProduceConstructorSignatureHelp(Scope *S, QualType Type,
11133   QualType ProduceCtorInitMemberSignatureHelp(Scope *S, Decl *ConstructorDecl,
11143                                bool IsUsingDeclaration, QualType BaseType,
11144                                QualType PreferredType);
11377   void CheckReturnValExpr(Expr *RetValExp, QualType lhsType,
11420                                   uint64_t MagicValue, QualType Type,
11426     TypeTagData(QualType Type, bool LayoutCompatible, bool MustBeNull) :
11431     QualType Type;
tools/clang/include/clang/Sema/SemaFixItUtils.h
   76                           const QualType FromQTy, const QualType ToQTy,
   76                           const QualType FromQTy, const QualType ToQTy,
tools/clang/include/clang/Sema/Template.h
  205                             QualType ValueType,
tools/clang/include/clang/Serialization/ASTBitCodes.h
  115       static bool isEqual(QualType A, QualType B) { return A == B; }
  115       static bool isEqual(QualType A, QualType B) { return A == B; }
  117       static QualType getEmptyKey() {
  118         return QualType::getFromOpaquePtr((void*) 1);
  121       static QualType getTombstoneKey() {
  122         return QualType::getFromOpaquePtr((void*) 2);
  125       static unsigned getHashValue(QualType T) {
tools/clang/include/clang/Serialization/ASTDeserializationListener.h
   45   virtual void TypeRead(serialization::TypeIdx Idx, QualType T) { }
tools/clang/include/clang/Serialization/ASTReader.h
  479   std::vector<QualType> TypesLoaded;
  542   llvm::SmallMapVector<FunctionDecl *, QualType, 4> PendingDeducedTypeUpdates;
 1339   QualType readTypeRecord(unsigned Index);
 1341                          SmallVectorImpl<QualType> &ExceptionStorage,
 1801   QualType GetType(serialization::TypeID ID);
 1804   QualType getLocalType(ModuleFile &F, unsigned LocalID);
 1811   QualType readType(ModuleFile &F, const RecordData &Record, unsigned &Idx) {
 2454   void readExceptionSpec(SmallVectorImpl<QualType> &ExceptionStorage,
 2518   QualType readType() {
tools/clang/include/clang/Serialization/ASTWriter.h
  125   using TypeIdxMap = llvm::DenseMap<QualType, serialization::TypeIdx,
  177     DeclOrType(QualType T) : Stored(T.getAsOpaquePtr()), IsType(true) {}
  182     QualType getType() const {
  184       return QualType::getFromOpaquePtr(Stored);
  353     DeclUpdate(unsigned Kind, QualType Type)
  364     QualType getType() const { return QualType::getFromOpaquePtr(Type); }
  364     QualType getType() const { return QualType::getFromOpaquePtr(Type); }
  485   void WriteType(QualType T);
  603   void AddTypeRef(QualType T, RecordDataImpl &Record);
  606   serialization::TypeID GetOrCreateTypeID(QualType T);
  609   serialization::TypeID getTypeID(QualType T) const;
  706   void TypeRead(serialization::TypeIdx Idx, QualType T) override;
  725   void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) override;
  887   void AddTypeRef(QualType T) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
   42   QualType T;
   46   CompoundValData(QualType t, llvm::ImmutableList<SVal> l) : T(t), L(l) {
   55   static void Profile(llvm::FoldingSetNodeID& ID, QualType T,
  138   const llvm::APSInt& getValue(uint64_t X, QualType T);
  141   APSIntType getAPSIntType(QualType T) const {
  158   const llvm::APSInt &Convert(QualType T, const llvm::APSInt &From) {
  167     QualType T = isUnsigned ? Ctx.UnsignedIntTy : Ctx.IntTy;
  179   const llvm::APSInt &getMaxValue(QualType T) {
  183   const llvm::APSInt &getMinValue(QualType T) {
  199   const llvm::APSInt &getZeroWithTypeSize(QualType T) {
  212   const llvm::APSInt &getTruthValue(bool b, QualType T) {
  221   const CompoundValData *getCompoundValData(QualType T,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  280   QualType getResultType() const;
  290   bool hasNonNullArgumentsWithType(bool (*Condition)(QualType)) const;
  374   static QualType getDeclaredResultType(const Decl *D);
  427     QualType operator()(ParmVarDecl *PD) const { return PD->getType(); }
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
   63 Nullability getNullabilityAnnotation(QualType Type);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h
   21   DynamicCastInfo(QualType from, QualType to, CastResult resultKind)
   21   DynamicCastInfo(QualType from, QualType to, CastResult resultKind)
   24   QualType from() const { return From; }
   25   QualType to() const { return To; }
   27   bool equals(QualType from, QualType to) const {
   27   bool equals(QualType from, QualType to) const {
   48   QualType From, To;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h
   42                                           QualType CastFromTy,
   43                                           QualType CastToTy);
   51                                    QualType NewTy, bool CanBeSubClassed = true);
   56                                           QualType CastFromTy,
   57                                           QualType CastToTy,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
   23   DynamicTypeInfo(QualType Ty, bool CanBeSub = true)
   34   QualType getType() const { return DynTy; }
   46   QualType DynTy;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  530   void VisitCXXDestructor(QualType ObjectType, const MemRegion *Dest,
  568                                       const LocationContext *LCtx, QualType T,
  569                                       QualType ExTy, const CastExpr *CastE,
  585                  NonLoc L, NonLoc R, QualType T) {
  590                  NonLoc L, SVal R, QualType T) {
  596                  SVal LHS, SVal RHS, QualType T) {
  649                 QualType LoadTy = QualType());
  692                       QualType LoadTy);
  788                                     QualType &Ty, bool &IsArray);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  515   virtual QualType getLocationType() const = 0;
  517   QualType getDesugaredLocationType(ASTContext &Context) const {
  539   virtual QualType getValueType() const = 0;
  541   QualType getLocationType() const override {
  543     QualType T = getValueType();
  550   QualType getDesugaredValueType(ASTContext &Context) const {
  551     QualType T = getValueType();
  595   QualType getLocationType() const override {
  648   QualType getLocationType() const override {
  702   QualType getLocationType() const override { return BC->getLocationType(); }
  818   QualType getValueType() const override { return Str->getType(); }
  854   QualType getValueType() const override { return Str->getType(); }
  890   QualType getValueType() const override { return CL->getType(); }
  954   QualType getValueType() const override {
  991   QualType getValueType() const override {
 1019   QualType getValueType() const override {
 1048   QualType getValueType() const override;
 1086   QualType ElementType;
 1089   ElementRegion(QualType elementType, NonLoc Idx, const SubRegion *sReg)
 1099   static void ProfileRegion(llvm::FoldingSetNodeID& ID, QualType elementType,
 1105   QualType getValueType() const override { return ElementType; }
 1107   QualType getElementType() const { return ElementType; }
 1140   QualType getValueType() const override { return Ex->getType(); }
 1171   QualType getValueType() const override;
 1212   QualType getValueType() const override;
 1310   const CXXThisRegion *getCXXThisRegion(QualType thisPointerTy,
 1333   const ElementRegion *getElementRegion(QualType elementType, NonLoc Idx,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  195                 bool assumption, QualType IndexType = QualType()) const;
  324   SVal getLValue(QualType ElementType, SVal Idx, SVal Base) const;
  333   SVal getSVal(Loc LV, QualType T = QualType()) const;
  336   SVal getRawSVal(Loc LV, QualType T= QualType()) const;
  340   SVal getSVal(const MemRegion* R, QualType T = QualType()) const;
  542   SVal ArrayToPointer(Loc Array, QualType ElementTy) {
  751 inline SVal ProgramState::getLValue(QualType ElementType, SVal Idx, SVal Base) const{
  767     QualType T = Ex->getType();
  776 inline SVal ProgramState::getRawSVal(Loc LV, QualType T) const {
  780 inline SVal ProgramState::getSVal(const MemRegion* R, QualType T) const {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
   45     QualType RetTy;
   83     QualType RetTy;
  114       QualType Ty = Sym->getType();
  157       QualType CastTy = SC->getType();
  188       QualType LTy, RTy;
  253     QualType Ty = Sym->getType();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
   28                                         const QualType &Ty, unsigned BitWidth) {
  262                                           QualType ToTy, uint64_t ToBitWidth,
  263                                           QualType FromTy,
  314                                         const llvm::APSInt &V, QualType ToTy,
  315                                         uint64_t ToWidth, QualType FromTy,
  323                                           const SymbolID ID, const QualType &Ty,
  333                                              QualType FromTy, QualType ToTy) {
  333                                              QualType FromTy, QualType ToTy) {
  342              const llvm::SMTExprRef &LHS, QualType LTy,
  344              QualType RTy, QualType *RetTy) {
  344              QualType RTy, QualType *RetTy) {
  380                                                QualType *RetTy) {
  381     QualType LTy, RTy;
  419                                             QualType *RetTy,
  433       QualType FromTy;
  463                                          QualType *RetTy = nullptr,
  476                                              QualType Ty, bool Assumption) {
  507     QualType FromTy;
  514     QualType SymTy;
  522     QualType ToTy;
  543   static inline QualType getAPSIntType(ASTContext &Ctx,
  549   static inline std::pair<llvm::APSInt, QualType>
  569                                       llvm::SMTExprRef &RHS, QualType &LTy,
  570                                       QualType &RTy) {
  645                                          ASTContext &Ctx, T &LHS, QualType &LTy,
  646                                          T &RHS, QualType &RTy) {
  654       QualType NewTy = Ctx.getPromotedIntegerType(LTy);
  661       QualType NewTy = Ctx.getPromotedIntegerType(RTy);
  712       QualType NewTy =
  728                         QualType &LTy, T &RHS, QualType &RTy) {
  728                         QualType &LTy, T &RHS, QualType &RTy) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
   70   const QualType ArrayIndexTy;
   75   virtual SVal evalCastFromNonLoc(NonLoc val, QualType castTy) = 0;
   76   virtual SVal evalCastFromLoc(Loc val, QualType castTy) = 0;
   81   virtual SVal dispatchCast(SVal val, QualType castTy) = 0;
   97   bool haveSameType(QualType Ty1, QualType Ty2) {
   97   bool haveSameType(QualType Ty1, QualType Ty2) {
  105   SVal evalCast(SVal val, QualType castTy, QualType originalType);
  105   SVal evalCast(SVal val, QualType castTy, QualType originalType);
  108   SVal evalIntegralCast(ProgramStateRef state, SVal val, QualType castTy,
  109                         QualType originalType);
  118                            NonLoc lhs, NonLoc rhs, QualType resultTy) = 0;
  123                            Loc lhs, Loc rhs, QualType resultTy) = 0;
  129                            Loc lhs, NonLoc rhs, QualType resultTy) = 0;
  142                         NonLoc lhs, NonLoc rhs, QualType resultTy);
  145                  SVal lhs, SVal rhs, QualType type);
  160   QualType getConditionType() const {
  164   QualType getArrayIndexType() const {
  181                                       QualType type,
  195   DefinedOrUnknownSVal makeZeroVal(QualType type);
  213                                         QualType type,
  217                                         QualType type,
  232                                    const Expr *expr, QualType type,
  250   NonLoc makeCompoundVal(QualType type, llvm::ImmutableList<SVal> vals) {
  302   DefinedSVal makeIntVal(uint64_t integer, QualType type) {
  323                     const llvm::APSInt& rhs, QualType type);
  326                     const SymExpr *lhs, QualType type);
  329                     const SymExpr *rhs, QualType type);
  332   NonLoc makeNonLoc(const SymExpr *operand, QualType fromTy, QualType toTy);
  332   NonLoc makeNonLoc(const SymExpr *operand, QualType fromTy, QualType toTy);
  334   nonloc::ConcreteInt makeTruthVal(bool b, QualType type) {
  345   Loc makeNullWithType(QualType type) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  307   static bool isCompoundType(QualType T) {
  329   static bool isLocType(QualType T) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
   74   virtual SVal getBinding(Store store, Loc loc, QualType T = QualType()) = 0;
  149   virtual SVal getLValueElement(QualType elementType, NonLoc offset, SVal Base);
  155                                                  QualType EleTy) {
  161   virtual SVal ArrayToPointer(Loc Array, QualType ElementTy) = 0;
  171   SVal evalDerivedToBase(SVal Derived, QualType DerivedPtrType,
  185   SVal attemptDownCast(SVal Base, QualType DerivedPtrType, bool &Failed);
  187   const ElementRegion *GetElementZeroRegion(const SubRegion *R, QualType T);
  192   const MemRegion *castRegion(const MemRegion *region, QualType CastToTy);
  288                                          QualType pointeeTy,
  295                         QualType castTy);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
   45   static bool isValidTypeForSymbol(QualType T) {
   62   virtual QualType getType() const = 0;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
   65   QualType getType() const override;
   77   QualType T;
   84                  QualType t, unsigned count, const void *symbolTag)
  100   QualType getType() const override;
  105                       QualType T, unsigned Count, const LocationContext *LCtx,
  142   QualType getType() const override;
  178   QualType getType() const override;
  204   QualType T;
  210   SymbolMetadata(SymbolID sym, const MemRegion* r, const Stmt *s, QualType t,
  227   QualType getType() const override;
  232                       const Stmt *S, QualType T, const LocationContext *LCtx,
  258   QualType FromTy;
  261   QualType ToTy;
  264   SymbolCast(const SymExpr *In, QualType From, QualType To)
  264   SymbolCast(const SymExpr *In, QualType From, QualType To)
  278   QualType getType() const override { return ToTy; }
  285                       const SymExpr *In, QualType From, QualType To) {
  285                       const SymExpr *In, QualType From, QualType To) {
  305   QualType T;
  308   BinarySymExpr(Kind k, BinaryOperator::Opcode op, QualType t)
  320   QualType getType() const override { return T; }
  338              const llvm::APSInt &rhs, QualType t)
  356                       QualType t) {
  381              const SymExpr *rhs, QualType t)
  399                       QualType t) {
  424              QualType t)
  442                     BinaryOperator::Opcode op, const SymExpr *rhs, QualType t) {
  481   static bool canSymbolicate(QualType T);
  488                                       QualType T,
  509                                           QualType T,
  515                                   QualType From, QualType To);
  515                                   QualType From, QualType To);
  518                                   const llvm::APSInt& rhs, QualType t);
  521                                   const llvm::APSInt& rhs, QualType t) {
  527                                   const SymExpr *rhs, QualType t);
  530                                   const SymExpr *rhs, QualType t);
  532   QualType getType(const SymExpr *SE) const {
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  437 static const char *PropertyMemoryAttribute(ASTContext &Context, QualType ArgType) {
  501     QualType QT = Getter->getReturnType();
  505     QualType ResType = Context.getCanonicalType(Getter->getReturnType());
  510     QualType ArgType = Context.getCanonicalType(argDecl->getType());
  516   QualType RT = Getter->getReturnType();
  519     QualType CanResultTy = Context.getCanonicalType(RT);
  775   QualType DesignatedEnumType = EnumDcl->getIntegerType();
  902   QualType qt = TypedefDcl->getTypeSourceInfo()->getType();
  936   QualType qt = TypedefDcl->getTypeSourceInfo()->getType();
 1057 static bool TypeIsInnerPointer(QualType T) {
 1066   QualType OrigT = T;
 1072   QualType UPointeeT = PT->getPointeeType().getUnqualifiedType();
 1172   QualType GRT = Method->getReturnType();
 1225     QualType SRT = SetterMethod->getReturnType();
 1229     QualType ArgType = argDecl->getType();
 1267   QualType RT = OM->getReturnType();
 1279   QualType T = P->getType();
 1366 static bool IsVoidStarType(QualType Ty) {
 1383 static bool AuditedType (QualType AT) {
 1556       QualType AT = pd->getType();
tools/clang/lib/ARCMigrate/TransAPIUses.cpp
   72       QualType pointee = parm->getType()->getPointeeType();
tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp
  392   bool isNSAutoreleasePool(QualType Ty) {
  393     QualType pointee = Ty->getPointeeType();
tools/clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
  104   bool isImplicitStrong(QualType ty) {
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
  227     QualType T = (*PI)->getType();
tools/clang/lib/ARCMigrate/TransProperties.cpp
  345   QualType getPropertyType(PropsTy &props) const {
  347     QualType ty = props[0].PropD->getType().getUnqualifiedType();
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
   93     QualType castType = E->getType();
   95     QualType castExprType = castExpr->getType();
  162                 QualType T = sub->getType();
tools/clang/lib/ARCMigrate/Transforms.cpp
   37 bool trans::canApplyWeak(ASTContext &Ctx, QualType type,
   42   QualType T = type;
  359 bool MigrationContext::isGCOwnedNonObjC(QualType T) {
tools/clang/lib/ARCMigrate/Transforms.h
   89     QualType ModifiedType;
  114   bool isGCOwnedNonObjC(QualType T);
  159 bool canApplyWeak(ASTContext &Ctx, QualType type,
tools/clang/lib/AST/APValue.cpp
   46                                                          QualType Type) {
   54                                                      QualType TypeInfo) {
   70 QualType APValue::LValueBase::getTypeInfoType() const {
   72   return QualType::getFromOpaquePtr(TypeInfoType);
   75 QualType APValue::LValueBase::getDynamicAllocType() const {
   77   return QualType::getFromOpaquePtr(DynamicAllocType);
  474                           QualType Ty) const {
  496     QualType ElemTy = Ty->castAs<VectorType>()->getElementType();
  514     QualType InnerTy
  578     QualType ElemTy;
  636     QualType ElemTy = AT->getElementType();
  705 std::string APValue::getAsString(const ASTContext &Ctx, QualType Ty) const {
  713 bool APValue::toIntegralConstant(APSInt &Result, QualType SrcTy,
tools/clang/lib/AST/ASTContext.cpp
  569       QualType QT = TD->getUnderlyingType();
  594         QualType Ty = I.getType();
  609         QualType Ty = I.getType();
  661           QualType T = NTTP->getExpansionType(I);
  703       QualType T = getCanonicalType(NTTP->getType());
  707         SmallVector<QualType, 2> ExpandedTypes;
 1167 TypedefDecl *ASTContext::buildImplicitTypedef(QualType T,
 1578 const llvm::fltSemantics &ASTContext::getFloatTypeSemantics(QualType T) const {
 1628     QualType T = VD->getType();
 1635     QualType BaseT = getBaseElementType(T);
 1699 ASTContext::getTypeInfoDataSizeInChars(QualType T) const {
 1745 ASTContext::getTypeInfoInChars(QualType T) const {
 1753 bool ASTContext::isAlignmentRequired(QualType T) const {
 1757 unsigned ASTContext::getTypeAlignIfKnown(QualType T) const {
 2234 unsigned ASTContext::getOpenMPDefaultSimdAlign(QualType T) const {
 2257 CharUnits ASTContext::getTypeSizeInChars(QualType T) const {
 2266 CharUnits ASTContext::getTypeAlignInChars(QualType T) const {
 2276 CharUnits ASTContext::getTypeUnadjustedAlignInChars(QualType T) const {
 2325 unsigned ASTContext::getAlignOfGlobalVar(QualType T) const {
 2332 CharUnits ASTContext::getAlignOfGlobalVarInChars(QualType T) const {
 2417 static bool isStructEmpty(QualType Ty) {
 2440     SmallVector<std::pair<QualType, int64_t>, 4> Bases;
 2495 bool ASTContext::hasUniqueObjectRepresentations(QualType Ty) const {
 2677 TypeSourceInfo *ASTContext::CreateTypeSourceInfo(QualType T,
 2691 TypeSourceInfo *ASTContext::getTrivialTypeSourceInfo(QualType T,
 2713 QualType
 2728   QualType canon;
 2743 QualType ASTContext::getAddrSpaceQualType(QualType T,
 2743 QualType ASTContext::getAddrSpaceQualType(QualType T,
 2745   QualType CanT = getCanonicalType(T);
 2763 QualType ASTContext::removeAddrSpaceQualType(QualType T) const {
 2763 QualType ASTContext::removeAddrSpaceQualType(QualType T) const {
 2784 QualType ASTContext::getObjCGCQualType(QualType T,
 2784 QualType ASTContext::getObjCGCQualType(QualType T,
 2786   QualType CanT = getCanonicalType(T);
 2791     QualType Pointee = ptr->getPointeeType();
 2793       QualType ResultType = getObjCGCQualType(Pointee, GCAttr);
 2817   QualType Result;
 2831                                                  QualType ResultType) {
 2850 QualType ASTContext::getFunctionTypeWithExceptionSpec(
 2851     QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) {
 2878 bool ASTContext::hasSameFunctionTypeIgnoringExceptionSpec(QualType T,
 2879                                                           QualType U) {
 2890   QualType Updated =
 2916 QualType ASTContext::getComplexType(QualType T) const {
 2916 QualType ASTContext::getComplexType(QualType T) const {
 2928   QualType Canonical;
 2944 QualType ASTContext::getPointerType(QualType T) const {
 2944 QualType ASTContext::getPointerType(QualType T) const {
 2956   QualType Canonical;
 2970 QualType ASTContext::getAdjustedType(QualType Orig, QualType New) const {
 2970 QualType ASTContext::getAdjustedType(QualType Orig, QualType New) const {
 2970 QualType ASTContext::getAdjustedType(QualType Orig, QualType New) const {
 2978   QualType Canonical = getCanonicalType(New);
 2991 QualType ASTContext::getDecayedType(QualType T) const {
 2991 QualType ASTContext::getDecayedType(QualType T) const {
 2994   QualType Decayed;
 3018   QualType Canonical = getCanonicalType(Decayed);
 3032 QualType ASTContext::getBlockPointerType(QualType T) const {
 3032 QualType ASTContext::getBlockPointerType(QualType T) const {
 3046   QualType Canonical;
 3063 QualType
 3064 ASTContext::getLValueReferenceType(QualType T, bool SpelledAsLValue) const {
 3082   QualType Canonical;
 3084     QualType PointeeType = (InnerRef ? InnerRef->getPointeeType() : T);
 3103 QualType ASTContext::getRValueReferenceType(QualType T) const {
 3103 QualType ASTContext::getRValueReferenceType(QualType T) const {
 3118   QualType Canonical;
 3120     QualType PointeeType = (InnerRef ? InnerRef->getPointeeType() : T);
 3137 QualType ASTContext::getMemberPointerType(QualType T, const Type *Cls) const {
 3137 QualType ASTContext::getMemberPointerType(QualType T, const Type *Cls) const {
 3150   QualType Canonical;
 3167 QualType ASTContext::getConstantArrayType(QualType EltTy,
 3167 QualType ASTContext::getConstantArrayType(QualType EltTy,
 3197   QualType Canon;
 3223 QualType ASTContext::getVariableArrayDecayedType(QualType type) const {
 3223 QualType ASTContext::getVariableArrayDecayedType(QualType type) const {
 3227   QualType result;
 3359 QualType ASTContext::getVariableArrayType(QualType EltTy,
 3359 QualType ASTContext::getVariableArrayType(QualType EltTy,
 3366   QualType Canon;
 3387 QualType ASTContext::getDependentSizedArrayType(QualType elementType,
 3387 QualType ASTContext::getDependentSizedArrayType(QualType elementType,
 3436   QualType canon = getQualifiedType(QualType(canonTy,0),
 3455 QualType ASTContext::getIncompleteArrayType(QualType elementType,
 3455 QualType ASTContext::getIncompleteArrayType(QualType elementType,
 3469   QualType canon;
 3493 QualType ASTContext::getVectorType(QualType vecType, unsigned NumElts,
 3493 QualType ASTContext::getVectorType(QualType vecType, unsigned NumElts,
 3507   QualType Canonical;
 3522 QualType
 3523 ASTContext::getDependentVectorType(QualType VecType, Expr *SizeExpr,
 3538     QualType CanonVecTy = getCanonicalType(VecType);
 3550       QualType Canon = getDependentSizedExtVectorType(CanonVecTy, SizeExpr,
 3563 QualType
 3564 ASTContext::getExtVectorType(QualType vecType, unsigned NumElts) const {
 3577   QualType Canonical;
 3592 QualType
 3593 ASTContext::getDependentSizedExtVectorType(QualType vecType,
 3611     QualType CanonVecTy = getCanonicalType(vecType);
 3623       QualType Canon = getDependentSizedExtVectorType(CanonVecTy, SizeExpr,
 3634 QualType ASTContext::getDependentAddressSpaceType(QualType PointeeType,
 3634 QualType ASTContext::getDependentAddressSpaceType(QualType PointeeType,
 3639   QualType canonPointeeType = getCanonicalType(PointeeType);
 3670 static bool isCanonicalResultType(QualType T) {
 3677 QualType
 3678 ASTContext::getFunctionNoProtoType(QualType ResultTy,
 3690   QualType Canonical;
 3709 ASTContext::getCanonicalFunctionResultType(QualType ResultType) const {
 3745     for (QualType ET : ESI.Exceptions) {
 3757 QualType ASTContext::getFunctionTypeInternal(
 3758     QualType ResultTy, ArrayRef<QualType> ArgArray,
 3758     QualType ResultTy, ArrayRef<QualType> ArgArray,
 3768   QualType Canonical;
 3774     QualType Existing = QualType(FPT, 0);
 3811     SmallVector<QualType, 16> CanonicalArgs;
 3816     llvm::SmallVector<QualType, 8> ExceptionTypeStorage;
 3836         for (QualType ET : EPI.ExceptionSpec.Exceptions) {
 3880       QualType, FunctionType::FunctionTypeExtraBitfields,
 3897 QualType ASTContext::getPipeType(QualType T, bool ReadOnly) const {
 3897 QualType ASTContext::getPipeType(QualType T, bool ReadOnly) const {
 3907   QualType Canonical;
 3922 QualType ASTContext::adjustStringLiteralBaseType(QualType Ty) const {
 3922 QualType ASTContext::adjustStringLiteralBaseType(QualType Ty) const {
 3928 QualType ASTContext::getReadPipeType(QualType T) const {
 3928 QualType ASTContext::getReadPipeType(QualType T) const {
 3932 QualType ASTContext::getWritePipeType(QualType T) const {
 3932 QualType ASTContext::getWritePipeType(QualType T) const {
 3951 QualType ASTContext::getInjectedClassNameType(CXXRecordDecl *Decl,
 3952                                               QualType TST) const {
 3971 QualType ASTContext::getTypeDeclTypeSlow(const TypeDecl *Decl) const {
 4000 QualType
 4002                            QualType Canonical) const {
 4014 QualType ASTContext::getRecordType(const RecordDecl *Decl) const {
 4027 QualType ASTContext::getEnumType(const EnumDecl *Decl) const {
 4040 QualType ASTContext::getAttributedType(attr::Kind attrKind,
 4041                                        QualType modifiedType,
 4042                                        QualType equivalentType) {
 4050   QualType canon = getCanonicalType(equivalentType);
 4061 QualType
 4063                                          QualType Replacement) const {
 4084 QualType ASTContext::getSubstTemplateTypeParmPackType(
 4101   QualType Canon;
 4120 QualType ASTContext::getTemplateTypeParmType(unsigned Depth, unsigned Index,
 4133     QualType Canon = getTemplateTypeParmType(Depth, Index, ParameterPack);
 4154                                               QualType Underlying) const {
 4157   QualType TST = getTemplateSpecializationType(Name, Args, Underlying);
 4171 QualType
 4174                                           QualType Underlying) const {
 4196 QualType
 4199                                           QualType Underlying) const {
 4209   QualType CanonType;
 4226                        (IsTypeAlias? sizeof(QualType) : 0),
 4236 QualType ASTContext::getCanonicalTemplateSpecializationType(
 4280 QualType ASTContext::getElaboratedType(ElaboratedTypeKeyword Keyword,
 4282                                        QualType NamedType,
 4292   QualType Canon = NamedType;
 4309 QualType
 4310 ASTContext::getParenType(QualType InnerType) const {
 4319   QualType Canon = InnerType;
 4333 QualType
 4334 ASTContext::getMacroQualifiedType(QualType UnderlyingTy,
 4336   QualType Canon = UnderlyingTy;
 4346 QualType ASTContext::getDependentNameType(ElaboratedTypeKeyword Keyword,
 4349                                           QualType Canon) const {
 4371 QualType
 4384 QualType
 4417   QualType Canon;
 4440     QualType ArgType = getTypeDeclType(TTP);
 4478 QualType ASTContext::getPackExpansionType(QualType Pattern,
 4478 QualType ASTContext::getPackExpansionType(QualType Pattern,
 4497   QualType Canon;
 4553 QualType ASTContext::getObjCObjectType(QualType BaseType,
 4553 QualType ASTContext::getObjCObjectType(QualType BaseType,
 4561 QualType ASTContext::getObjCObjectType(
 4562            QualType baseType,
 4563            ArrayRef<QualType> typeArgs,
 4582   ArrayRef<QualType> effectiveTypeArgs = typeArgs;
 4591   QualType canonical;
 4600     ArrayRef<QualType> canonTypeArgs;
 4601     SmallVector<QualType, 4> canonTypeArgsVec;
 4604       for (auto typeArg : effectiveTypeArgs)
 4629   size += typeArgs.size() * sizeof(QualType);
 4644 QualType
 4645 ASTContext::applyObjCProtocolQualifiers(QualType type,
 4715 QualType
 4727   QualType Canonical = getCanonicalType(Decl->getUnderlyingType());
 4749 bool ASTContext::ObjCObjectAdoptsQTypeProtocols(QualType QT,
 4768 bool ASTContext::QIdProtocolsAdoptObjCObjectProtocols(QualType QT,
 4814 QualType ASTContext::getObjCObjectPointerType(QualType ObjectT) const {
 4814 QualType ASTContext::getObjCObjectPointerType(QualType ObjectT) const {
 4824   QualType Canonical;
 4844 QualType ASTContext::getObjCInterfaceType(const ObjCInterfaceDecl *Decl,
 4871 QualType ASTContext::getTypeOfExprType(Expr *tofExpr) const {
 4893     QualType Canonical = getCanonicalType(tofExpr->getType());
 4905 QualType ASTContext::getTypeOfType(QualType tofType) const {
 4905 QualType ASTContext::getTypeOfType(QualType tofType) const {
 4906   QualType Canonical = getCanonicalType(tofType);
 4916 QualType ASTContext::getDecltypeType(Expr *e, QualType UnderlyingType) const {
 4916 QualType ASTContext::getDecltypeType(Expr *e, QualType UnderlyingType) const {
 4947 QualType ASTContext::getUnaryTransformType(QualType BaseType,
 4947 QualType ASTContext::getUnaryTransformType(QualType BaseType,
 4948                                            QualType UnderlyingType,
 4973     QualType CanonType = getCanonicalType(UnderlyingType);
 4985 QualType ASTContext::getAutoType(QualType DeducedType, AutoTypeKeyword Keyword,
 4985 QualType ASTContext::getAutoType(QualType DeducedType, AutoTypeKeyword Keyword,
 5009 QualType ASTContext::getDeducedTemplateSpecializationType(
 5010     TemplateName Template, QualType DeducedType, bool IsDependent) const {
 5030 QualType ASTContext::getAtomicType(QualType T) const {
 5030 QualType ASTContext::getAtomicType(QualType T) const {
 5042   QualType Canonical;
 5057 QualType ASTContext::getAutoDeductType() const {
 5067 QualType ASTContext::getAutoRRefDeductType() const {
 5076 QualType ASTContext::getTagDeclType(const TagDecl *Decl) const {
 5108 QualType ASTContext::getSignedWCharType() const {
 5115 QualType ASTContext::getUnsignedWCharType() const {
 5120 QualType ASTContext::getIntPtrType() const {
 5124 QualType ASTContext::getUIntPtrType() const {
 5130 QualType ASTContext::getPointerDiffType() const {
 5137 QualType ASTContext::getUnsignedPointerDiffType() const {
 5143 QualType ASTContext::getProcessIDType() const {
 5151 CanQualType ASTContext::getCanonicalParamType(QualType T) const {
 5157   QualType Result;
 5169 QualType ASTContext::getUnqualifiedArrayType(QualType type,
 5169 QualType ASTContext::getUnqualifiedArrayType(QualType type,
 5187   QualType elementType = AT->getElementType();
 5188   QualType unqualElementType = getUnqualifiedArrayType(elementType, quals);
 5228 bool ASTContext::UnwrapSimilarArrayTypes(QualType &T1, QualType &T2) {
 5228 bool ASTContext::UnwrapSimilarArrayTypes(QualType &T1, QualType &T2) {
 5266 bool ASTContext::UnwrapSimilarTypes(QualType &T1, QualType &T2) {
 5266 bool ASTContext::UnwrapSimilarTypes(QualType &T1, QualType &T2) {
 5302 bool ASTContext::hasSimilarType(QualType T1, QualType T2) {
 5302 bool ASTContext::hasSimilarType(QualType T1, QualType T2) {
 5314 bool ASTContext::hasCvrSimilarType(QualType T1, QualType T2) {
 5314 bool ASTContext::hasCvrSimilarType(QualType T1, QualType T2) {
 5514     QualType T = getCanonicalType(QualType(NNS->getAsType(), 0));
 5543 const ArrayType *ASTContext::getAsArrayType(QualType T) const {
 5573   QualType NewEltTy = getQualifiedType(ATy->getElementType(), qs);
 5601 QualType ASTContext::getAdjustedParameterType(QualType T) const {
 5601 QualType ASTContext::getAdjustedParameterType(QualType T) const {
 5607 QualType ASTContext::getSignatureParameterType(QualType T) const {
 5607 QualType ASTContext::getSignatureParameterType(QualType T) const {
 5613 QualType ASTContext::getExceptionObjectType(QualType T) const {
 5613 QualType ASTContext::getExceptionObjectType(QualType T) const {
 5632 QualType ASTContext::getArrayDecayedType(QualType Ty) const {
 5632 QualType ASTContext::getArrayDecayedType(QualType Ty) const {
 5640   QualType PtrTy = getPointerType(PrettyArrayType->getElementType());
 5643   QualType Result = getQualifiedType(PtrTy,
 5654 QualType ASTContext::getBaseElementType(const ArrayType *array) const {
 5658 QualType ASTContext::getBaseElementType(QualType type) const {
 5658 QualType ASTContext::getBaseElementType(QualType type) const {
 5686 static FloatingRank getFloatingRank(QualType T) {
 5705 QualType ASTContext::getFloatingTypeOfSizeWithinDomain(QualType Size,
 5705 QualType ASTContext::getFloatingTypeOfSizeWithinDomain(QualType Size,
 5706                                                        QualType Domain) const {
 5735 int ASTContext::getFloatingTypeOrder(QualType LHS, QualType RHS) const {
 5735 int ASTContext::getFloatingTypeOrder(QualType LHS, QualType RHS) const {
 5746 int ASTContext::getFloatingTypeSemanticOrder(QualType LHS, QualType RHS) const {
 5746 int ASTContext::getFloatingTypeSemanticOrder(QualType LHS, QualType RHS) const {
 5790 QualType ASTContext::isPromotableBitField(Expr *E) const {
 5808   QualType FT = Field->getType();
 5845 QualType ASTContext::getPromotedIntegerType(QualType Promotable) const {
 5845 QualType ASTContext::getPromotedIntegerType(QualType Promotable) const {
 5865       QualType PromoteTypes[] = { IntTy, UnsignedIntTy, LongTy, UnsignedLongTy,
 5889 Qualifiers::ObjCLifetime ASTContext::getInnerObjCOwnership(QualType T) const {
 5917 int ASTContext::getIntegerTypeOrder(QualType LHS, QualType RHS) const {
 5917 int ASTContext::getIntegerTypeOrder(QualType LHS, QualType RHS) const {
 5972     QualType Type;
 6039   auto tagType = getTagDeclType(CFConstantStringTagDecl);
 6053 QualType ASTContext::getCFConstantStringType() const {
 6057 QualType ASTContext::getObjCSuperType() const {
 6066 void ASTContext::setCFConstantStringType(QualType T) {
 6074 QualType ASTContext::getBlockDescriptorType() const {
 6083   QualType FieldTypes[] = {
 6109 QualType ASTContext::getBlockDescriptorExtendedType() const {
 6118   QualType FieldTypes[] = {
 6191 bool ASTContext::BlockRequiresCopying(QualType Ty,
 6231 bool ASTContext::getByrefLifetime(QualType Ty,
 6262 static bool isTypeTypedefedAsBOOL(QualType T) {
 6272 CharUnits ASTContext::getObjCEncodingTypeSize(QualType type) const {
 6325   QualType BlockTy =
 6327   QualType BlockReturnTy = BlockTy->castAs<FunctionType>()->getReturnType();
 6340     QualType PType = PI->getType();
 6355     QualType PType = PVDecl->getOriginalType();
 6384     QualType PType = PI->getType();
 6398     QualType PType = PVDecl->getOriginalType();
 6419                                                    QualType T, std::string& S,
 6451     QualType PType = (*PI)->getType();
 6469     QualType PType = PVDecl->getOriginalType();
 6603 void ASTContext::getLegacyIntegralTypeEncoding (QualType &PointeeTy) const {
 6615 void ASTContext::getObjCEncodingForType(QualType T, std::string& S,
 6617                                         QualType *NotEncodedT) const {
 6630 void ASTContext::getObjCEncodingForPropertyType(QualType T,
 6757                            QualType T, const FieldDecl *FD) {
 6800 void ASTContext::getObjCEncodingForTypeImpl(QualType T, std::string &S,
 6803                                             QualType *NotEncodedT) const {
 6836     QualType PointeeTy;
 6859       QualType P = PointeeTy;
 6977             QualType qt = Field->getType();
 7005         for (const auto &I : FPT->param_types())
 7016     QualType Ty = getObjCObjectPointerType(CT);
 7143                                                  QualType *NotEncodedT) const {
 7267         QualType qt = field->getType();
 7298     QualType T = getObjCObjectType(ObjCBuiltinIdTy, {}, {});
 7307     QualType T = getPointerType(ObjCBuiltinSelTy);
 7315     QualType T = getObjCObjectType(ObjCBuiltinClassTy, {}, {});
 7343   QualType T = Context->getPointerType(Context->CharTy);
 7357   QualType T = Context->getPointerType(Context->VoidTy);
 7380   QualType FieldTypes[NumFields];
 7419   QualType VaListTagType = Context->getRecordType(VaListTagDecl);
 7433   QualType FieldTypes[NumFields];
 7471   QualType VaListTagType = Context->getRecordType(VaListTagDecl);
 7477   QualType VaListTagTypedefType =
 7482   QualType VaListTagArrayType
 7496   QualType FieldTypes[NumFields];
 7531   QualType VaListTagType = Context->getRecordType(VaListTagDecl);
 7537   QualType VaListTagArrayType = Context->getConstantArrayType(
 7545   QualType IntArrayType = Context->getConstantArrayType(
 7587   QualType T = Context->getRecordType(VaListDecl);
 7599   QualType FieldTypes[NumFields];
 7634   QualType VaListTagType = Context->getRecordType(VaListTagDecl);
 7640   QualType VaListTagArrayType = Context->getConstantArrayType(
 7902 Qualifiers::GC ASTContext::getObjCGCAttrKind(QualType Ty) const {
 7921     QualType CT = Ty->getCanonicalTypeInternal();
 7943 bool ASTContext::areCompatibleVectorTypes(QualType FirstVec,
 7944                                           QualType SecondVec) {
 7966 bool ASTContext::hasDirectOwnershipQualifier(QualType Ty) const {
 8319 static bool canAssignObjCObjectTypes(ASTContext &ctx, QualType lhs,
 8320                                      QualType rhs) {
 8345                              ArrayRef<QualType> lhsArgs,
 8346                              ArrayRef<QualType> rhsArgs,
 8380 QualType ASTContext::areCommonBaseCompatible(
 8407       ArrayRef<QualType> LHSTypeArgs = LHS->getTypeArgsAsWritten();
 8433         QualType Result = getObjCInterfaceType(LHS->getInterface());
 8443     QualType LHSSuperType = LHS->getSuperClassType();
 8458       ArrayRef<QualType> RHSTypeArgs = RHS->getTypeArgsAsWritten();
 8483         QualType Result = getObjCInterfaceType(RHS->getInterface());
 8493     QualType RHSSuperType = RHS->getSuperClassType();
 8565 bool ASTContext::areComparableObjCPointerTypes(QualType LHS, QualType RHS) {
 8565 bool ASTContext::areComparableObjCPointerTypes(QualType LHS, QualType RHS) {
 8577 bool ASTContext::canBindObjCObjectType(QualType To, QualType From) {
 8577 bool ASTContext::canBindObjCObjectType(QualType To, QualType From) {
 8587 bool ASTContext::typesAreCompatible(QualType LHS, QualType RHS,
 8587 bool ASTContext::typesAreCompatible(QualType LHS, QualType RHS,
 8595 bool ASTContext::propertyTypesAreCompatible(QualType LHS, QualType RHS) {
 8595 bool ASTContext::propertyTypesAreCompatible(QualType LHS, QualType RHS) {
 8599 bool ASTContext::typesAreBlockPointerCompatible(QualType LHS, QualType RHS) {
 8599 bool ASTContext::typesAreBlockPointerCompatible(QualType LHS, QualType RHS) {
 8606 QualType ASTContext::mergeTransparentUnionType(QualType T, QualType SubType,
 8606 QualType ASTContext::mergeTransparentUnionType(QualType T, QualType SubType,
 8606 QualType ASTContext::mergeTransparentUnionType(QualType T, QualType SubType,
 8613         QualType ET = I->getType().getUnqualifiedType();
 8614         QualType MT = mergeTypes(ET, SubType, OfBlockPointer, Unqualified);
 8626 QualType ASTContext::mergeFunctionParameterTypes(QualType lhs, QualType rhs,
 8626 QualType ASTContext::mergeFunctionParameterTypes(QualType lhs, QualType rhs,
 8626 QualType ASTContext::mergeFunctionParameterTypes(QualType lhs, QualType rhs,
 8632   QualType lmerge = mergeTransparentUnionType(lhs, rhs, OfBlockPointer,
 8637   QualType rmerge = mergeTransparentUnionType(rhs, lhs, OfBlockPointer,
 8645 QualType ASTContext::mergeFunctionTypes(QualType lhs, QualType rhs,
 8645 QualType ASTContext::mergeFunctionTypes(QualType lhs, QualType rhs,
 8645 QualType ASTContext::mergeFunctionTypes(QualType lhs, QualType rhs,
 8656   QualType retType;
 8658     QualType RHS = rbase->getReturnType();
 8659     QualType LHS = lbase->getReturnType();
 8746     SmallVector<QualType, 10> types;
 8748       QualType lParamType = lproto->getParamType(i).getUnqualifiedType();
 8749       QualType rParamType = rproto->getParamType(i).getUnqualifiedType();
 8750       QualType paramType = mergeFunctionParameterTypes(
 8794       QualType paramTy = proto->getParamType(i);
 8823 static QualType mergeEnumWithInteger(ASTContext &Context, const EnumType *ET,
 8824                                      QualType other, bool isBlockReturnType) {
 8829   QualType underlyingType = ET->getDecl()->getIntegerType();
 8844 QualType ASTContext::mergeTypes(QualType LHS, QualType RHS,
 8844 QualType ASTContext::mergeTypes(QualType LHS, QualType RHS,
 8844 QualType ASTContext::mergeTypes(QualType LHS, QualType RHS,
 8860   QualType LHSCan = getCanonicalType(LHS),
 8972     QualType LHSPointee = LHS->castAs<PointerType>()->getPointeeType();
 8973     QualType RHSPointee = RHS->castAs<PointerType>()->getPointeeType();
 8978     QualType ResultType = mergeTypes(LHSPointee, RHSPointee, false,
 8991     QualType LHSPointee = LHS->castAs<BlockPointerType>()->getPointeeType();
 8992     QualType RHSPointee = RHS->castAs<BlockPointerType>()->getPointeeType();
 9011     QualType ResultType = mergeTypes(LHSPointee, RHSPointee, OfBlockPointer,
 9024     QualType LHSValue = LHS->castAs<AtomicType>()->getValueType();
 9025     QualType RHSValue = RHS->castAs<AtomicType>()->getValueType();
 9030     QualType ResultType = mergeTypes(LHSValue, RHSValue, false,
 9047     QualType LHSElem = getAsArrayType(LHS)->getElementType();
 9048     QualType RHSElem = getAsArrayType(RHS)->getElementType();
 9054     QualType ResultType = mergeTypes(LHSElem, RHSElem, false, Unqualified);
 9223 QualType ASTContext::mergeObjCGCQualifiers(QualType LHS, QualType RHS) {
 9223 QualType ASTContext::mergeObjCGCQualifiers(QualType LHS, QualType RHS) {
 9223 QualType ASTContext::mergeObjCGCQualifiers(QualType LHS, QualType RHS) {
 9224   QualType LHSCan = getCanonicalType(LHS),
 9232     QualType OldReturnType =
 9234     QualType NewReturnType =
 9236     QualType ResReturnType =
 9247         QualType ResultType =
 9284     QualType LHSBaseQT = LHS->castAs<ObjCObjectPointerType>()->getPointeeType();
 9285     QualType RHSBaseQT = RHS->castAs<ObjCObjectPointerType>()->getPointeeType();
 9286     QualType ResQT = mergeObjCGCQualifiers(LHSBaseQT, RHSBaseQT);
 9299 unsigned ASTContext::getIntWidth(QualType T) const {
 9308 QualType ASTContext::getCorrespondingUnsignedType(QualType T) const {
 9308 QualType ASTContext::getCorrespondingUnsignedType(QualType T) const {
 9368                                             QualType ReturnType) {}
 9382 static QualType DecodeTypeFromStr(const char *&Str, const ASTContext &Context,
 9480   QualType Type;
 9586     QualType ElementType = DecodeTypeFromStr(Str, Context, Error,
 9603     QualType ElementType = DecodeTypeFromStr(Str, Context, Error, RequiresICE,
 9609     QualType ElementType = DecodeTypeFromStr(Str, Context, Error, RequiresICE,
 9694 QualType ASTContext::GetBuiltinType(unsigned Id,
 9703   SmallVector<QualType, 8> ArgTypes;
 9707   QualType ResType = DecodeTypeFromStr(TypeStr, *this, Error,
 9715     QualType Ty = DecodeTypeFromStr(TypeStr, *this, Error, RequiresICE, true);
10210 QualType ASTContext::getIntTypeForBitwidth(unsigned DestWidth,
10222 QualType ASTContext::getRealTypeForBitwidth(unsigned DestWidth) const {
10342 QualType ASTContext::getStringLiteralArrayType(QualType EltTy,
10342 QualType ASTContext::getStringLiteralArrayType(QualType EltTy,
10376   QualType AtomicTy = E->getPtr()->getType()->getPointeeType();
10550 uint64_t ASTContext::getTargetNullPointerValue(QualType QT) const {
10567 QualType ASTContext::getCorrespondingSaturatedType(QualType Ty) const {
10567 QualType ASTContext::getCorrespondingSaturatedType(QualType Ty) const {
10621 unsigned char ASTContext::getFixedPointScale(QualType Ty) const {
10667 unsigned char ASTContext::getFixedPointIBits(QualType Ty) const {
10708 FixedPointSemantics ASTContext::getFixedPointSemantics(QualType Ty) const {
10723 APFixedPoint ASTContext::getFixedPointMax(QualType Ty) const {
10728 APFixedPoint ASTContext::getFixedPointMin(QualType Ty) const {
10733 QualType ASTContext::getCorrespondingSignedFixedPointType(QualType Ty) const {
10733 QualType ASTContext::getCorrespondingSignedFixedPointType(QualType Ty) const {
tools/clang/lib/AST/ASTDiagnostic.cpp
   28 static QualType Desugar(ASTContext &Context, QualType QT, bool &ShouldAKA) {
   28 static QualType Desugar(ASTContext &Context, QualType QT, bool &ShouldAKA) {
   77       QualType SugarRT = FT->getReturnType();
   78       QualType RT = Desugar(Context, SugarRT, DesugarReturn);
   85       SmallVector<QualType, 4> Args;
   88         for (QualType SugarPT : FPT->param_types()) {
   89           QualType PT = Desugar(Context, SugarPT, DesugarArgument);
  144     QualType Underlying;
  196       QualType BaseType = Desugar(Context, Ty->getBaseType(), ShouldAKA);
  232 ConvertTypeToDiagnosticString(ASTContext &Context, QualType Ty,
  237   QualType CanTy = Ty.getCanonicalType();
  242     QualType CompareTy =
  243         QualType::getFromOpaquePtr(reinterpret_cast<void*>(QualTypeVals[I]));
  248     QualType CompareCanTy = CompareTy.getCanonicalType();
  253     QualType CompareDesugar = Desugar(Context, CompareTy, ShouldAKA);
  276       QualType PrevTy(QualType::getFromOpaquePtr(Ptr));
  276       QualType PrevTy(QualType::getFromOpaquePtr(Ptr));
  288     QualType DesugaredTy = Desugar(Context, Ty, ShouldAKA);
  319 static bool FormatTemplateTypeDiff(ASTContext &Context, QualType FromType,
  320                                    QualType ToType, bool PrintTree,
  357       QualType FromType =
  358           QualType::getFromOpaquePtr(reinterpret_cast<void*>(TDT.FromType));
  359       QualType ToType =
  360           QualType::getFromOpaquePtr(reinterpret_cast<void*>(TDT.ToType));
  387       QualType Ty(QualType::getFromOpaquePtr(reinterpret_cast<void*>(Val)));
  387       QualType Ty(QualType::getFromOpaquePtr(reinterpret_cast<void*>(Val)));
  497   QualType FromTemplateType;
  501   QualType ToTemplateType;
  543       QualType ArgType;
  610     void SetTypeDiff(QualType FromType, QualType ToType, bool FromDefault,
  610     void SetTypeDiff(QualType FromType, QualType ToType, bool FromDefault,
  639                         QualType FromIntType, QualType ToIntType,
  639                         QualType FromIntType, QualType ToIntType,
  675         QualType ToIntType, Expr *ToExpr, bool FromDefault, bool ToDefault) {
  690         const llvm::APSInt &FromInt, bool IsValidFromInt, QualType FromIntType,
  775     void GetTypeDiff(QualType &FromType, QualType &ToType) {
  775     void GetTypeDiff(QualType &FromType, QualType &ToType) {
  795                         QualType &FromIntType, QualType &ToIntType,
  795                         QualType &FromIntType, QualType &ToIntType,
  826         QualType &ToIntType, Expr *&ToExpr) {
  840         llvm::APSInt &FromInt, bool &IsValidFromInt, QualType &FromIntType,
 1072       ASTContext &Context, QualType Ty) {
 1097   static bool OnlyPerformTypeDiff(ASTContext &Context, QualType FromType,
 1098                                   QualType ToType,
 1121     QualType FromType = GetType(FromIter);
 1122     QualType ToType = GetType(ToIter);
 1164                                              QualType &IntType, bool &IsNullPtr,
 1178           QualType ArgType = Iter->getParamTypeForDecl();
 1179           QualType VDType = VD->getType();
 1208         QualType ArgType = TA.getParamTypeForDecl();
 1209         QualType VDType = VD->getType();
 1235     QualType FromIntType, ToIntType;
 1406   static QualType GetType(const TSTiterator &Iter) {
 1458         QualType FromType, ToType;
 1482         QualType FromIntType, ToIntType;
 1510         QualType ToIntType;
 1524         QualType FromIntType;
 1614   void PrintTypeNames(QualType FromType, QualType ToType,
 1614   void PrintTypeNames(QualType FromType, QualType ToType,
 1735                    bool IsValidFromInt, bool IsValidToInt, QualType FromIntType,
 1736                    QualType ToIntType, Expr *FromExpr, Expr *ToExpr,
 1768                    QualType IntType, bool PrintType) {
 1879                                 const llvm::APSInt &Val, QualType IntType,
 1899   void PrintIntegerAndValueDecl(const llvm::APSInt &Val, QualType IntType,
 1995   TemplateDiff(raw_ostream &OS, ASTContext &Context, QualType FromType,
 1996                QualType ToType, bool PrintTree, bool PrintFromType,
 2059 static bool FormatTemplateTypeDiff(ASTContext &Context, QualType FromType,
 2060                                    QualType ToType, bool PrintTree,
tools/clang/lib/AST/ASTImporter.cpp
   78   using ExpectedType = llvm::Expected<QualType>;
  146     LLVM_NODISCARD Error importInto(ImportT &To, const ImportT &From) {
  146     LLVM_NODISCARD Error importInto(ImportT &To, const ImportT &From) {
  176     Expected<T> import(const T &From) {
  176     Expected<T> import(const T &From) {
  189     Expected<std::tuple<T>>
  190     importSeq(const T &From) {
  191       Expected<T> ToOrErr = import(From);
  194       return std::make_tuple<T>(std::move(*ToOrErr));
  202     Expected<std::tuple<THead, TTail...>>
  202     Expected<std::tuple<THead, TTail...>>
  203     importSeq(const THead &FromHead, const TTail &...FromTail) {
  203     importSeq(const THead &FromHead, const TTail &...FromTail) {
  204       Expected<std::tuple<THead>> ToHeadOrErr = importSeq(FromHead);
  207       Expected<std::tuple<TTail...>> ToTailOrErr = importSeq(FromTail...);
  216       auto operator()(Args &&... args)
  230                                                 Args &&... args) {
  246                                                 Args &&... args) {
  257                                    FromDeclT *FromD, Args &&... args) {
 1101   QualType ToElementType;
 1126   QualType ToElementType;
 1142   QualType ToElementType;
 1196   SmallVector<QualType, 4> ArgTypes;
 1197   for (const auto &A : T->param_types()) {
 1205   SmallVector<QualType, 4> ExceptionTypes;
 1206   for (const auto &E : T->exceptions()) {
 1410   QualType ToCanonType;
 1412     QualType FromCanonType
 1480   QualType Canon;
 1507   SmallVector<QualType, 4> TypeArgs;
 1508   for (auto TypeArg : T->getTypeArgsAsWritten()) {
 2323         QualType FromUT = D->getUnderlyingType();
 2324         QualType FoundUT = FoundTypedef->getUnderlyingType();
 2348   QualType ToUnderlyingType;
 2543   QualType ToIntegerType;
 3116   QualType FromTy = D->getType();
 3135   QualType T;
 3416   QualType ToType;
 3618   QualType ToType;
 3740   QualType ToType;
 3797   QualType ToType;
 3841   QualType ToType;
 3954   QualType ToReturnType;
 4817   QualType ToType;
 4972   QualType ToType;
 5229     QualType CanonInjType;
 5468     QualType T;
 6186   QualType ToType;
 6205   QualType ToType;
 6242   QualType ToType;
 6260   QualType ToType;
 6418   QualType ToType;
 6434   QualType ToType;
 6455   QualType ToType;
 6517   QualType ToType;
 6532   QualType ToType;
 6547   QualType ToType;
 6577   QualType ToType;
 6595   QualType ToType;
 6614   QualType ToType;
 6635   QualType ToType;
 6653   QualType ToType;
 6668   QualType ToType;
 6684   QualType ToType;
 6701   QualType ToType, ToComputationLHSType, ToComputationResultType;
 6748   QualType ToType;
 6859   QualType ToType;
 6875   QualType ToType;
 6896   QualType ToType;
 6943   QualType ToType;
 6976   QualType ToType;
 6999   QualType ToType;
 7018   QualType ToType;
 7069   QualType ToType;
 7094   QualType ToType;
 7113   QualType ToType;
 7152   QualType ToType;
 7201   QualType ToType;
 7280   QualType ToType;
 7432   QualType ToType;
 7481   QualType ToType;
 7549   QualType ToType;
 7610   QualType ToType;
 7624   QualType ToType;
 7663   QualType ToType;
 7707   QualType ToType;
 7723   QualType ToType;
 7867 Expected<QualType> ASTImporter::Import(QualType FromT) {
 7867 Expected<QualType> ASTImporter::Import(QualType FromT) {
 8199     if (Expected<QualType> TyOrErr =
 8792 bool ASTImporter::IsStructurallyEquivalent(QualType From, QualType To,
 8792 bool ASTImporter::IsStructurallyEquivalent(QualType From, QualType To,
tools/clang/lib/AST/ASTImporterLookupTable.cpp
   36       QualType Ty = D->getFriendType()->getType();
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
   98                                      QualType T1, QualType T2);
   98                                      QualType T1, QualType T2);
  436                                      QualType T1, QualType T2) {
  436                                      QualType T1, QualType T2) {
  440   QualType OrigT1 = T1;
  441   QualType OrigT2 = T2;
 1619   QualType AnonTy = Context.getRecordType(Anon);
 1640     QualType FieldType = F->getType();
 1724 bool StructuralEquivalenceContext::IsEquivalent(QualType T1, QualType T2) {
 1724 bool StructuralEquivalenceContext::IsEquivalent(QualType T1, QualType T2) {
tools/clang/lib/AST/ASTTypeTraits.cpp
  140   } else if (const QualType *QT = get<QualType>())
  140   } else if (const QualType *QT = get<QualType>())
tools/clang/lib/AST/CXXInheritance.cpp
  203     QualType BaseType =
tools/clang/lib/AST/CommentSema.cpp
  829     QualType Type = TD->getUnderlyingType();
  850       QualType QT = VD->getType();
  865   QualType QT;
tools/clang/lib/AST/ComparisonCategories.cpp
  104 ComparisonCategories::lookupInfoForType(QualType Ty) const {
  139 const ComparisonCategoryInfo &ComparisonCategories::getInfoForType(QualType Ty) const {
  145 QualType ComparisonCategoryInfo::getType() const {
tools/clang/lib/AST/Decl.cpp
  272         QualType type = NTTP->getExpansionType(i);
  826       QualType TypeAsWritten = Function->getType();
  969     QualType TypeAsWritten = MD->getType();
 1870 static bool typeIsPostfix(QualType QT) {
 1950                  IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo,
 1967                          IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo,
 2597 QualType::DestructionKind
 2601       return QualType::DK_none;
 2604     return QualType::DK_none;
 2660                                  QualType T, TypeSourceInfo *TInfo,
 2666 QualType ParmVarDecl::getOriginalType() const {
 2668   QualType T = TSI ? TSI->getType() : getType();
 2766                            const DeclarationNameInfo &NameInfo, QualType T,
 2962   QualType Ty = FPT->getParamType(Params);
 3929                              IdentifierInfo *Id, QualType T,
 4199 void EnumDecl::completeDefinition(QualType NewType,
 4200                                   QualType NewPromotionType,
 4608                                              IdentifierInfo *Id, QualType Type,
 4613 ImplicitParamDecl *ImplicitParamDecl::Create(ASTContext &C, QualType Type,
 4626                                    QualType T, TypeSourceInfo *TInfo,
 4675                                            IdentifierInfo *Id, QualType T,
 4690                                      QualType T,
 4702                           IdentifierInfo *Id, QualType T,
tools/clang/lib/AST/DeclBase.cpp
  953   QualType Ty;
tools/clang/lib/AST/DeclCXX.cpp
  217     QualType BaseType = Base->getType();
  469     QualType Type = VBases[I]->getType();
  639       QualType T = Ctx.getBaseElementType(FD->getType());
  992     QualType T = Context.getBaseElementType(Field->getType());
 1496   QualType T =
 1767   QualType ClassType = Context.getTypeDeclType(this);
 1953     ExplicitSpecifier ES, const DeclarationNameInfo &NameInfo, QualType T,
 2042                                      QualType T, TypeSourceInfo *TInfo,
 2229   QualType ParamType = getParamDecl(0)->getType();
 2234   QualType ClassType
 2249   QualType ParamType = getParamDecl(0)->getType();
 2255   QualType ClassType
 2291 static QualType getThisObjectType(ASTContext &C, const FunctionProtoType *FPT,
 2293   QualType ClassTy = C.getTypeDeclType(Decl);
 2297 QualType CXXMethodDecl::getThisType(const FunctionProtoType *FPT,
 2300   QualType ObjectTy = ::getThisObjectType(C, FPT, Decl);
 2304 QualType CXXMethodDecl::getThisObjectType(const FunctionProtoType *FPT,
 2310 QualType CXXMethodDecl::getThisType() const {
 2322 QualType CXXMethodDecl::getThisObjectType() const {
 2433     const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo,
 2471     const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo,
 2608     const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo,
 2639     const DeclarationNameInfo &NameInfo, QualType T, TypeSourceInfo *TInfo,
 3022                                              QualType T, TypeSourceInfo *TInfo,
 3061                                        QualType T, TypeSourceInfo *TInfo,
tools/clang/lib/AST/DeclObjC.cpp
  779                                Selector SelInfo, QualType T,
  811     Selector SelInfo, QualType T, TypeSourceInfo *ReturnTInfo,
 1053         QualType ArgT = (*it);
 1077 QualType ObjCMethodDecl::getSelfType(ASTContext &Context,
 1081   QualType selfTy;
 1125   QualType selfTy =
 1162 QualType ObjCMethodDecl::getSendResultType() const {
 1168 QualType ObjCMethodDecl::getSendResultType(QualType receiverType) const {
 1168 QualType ObjCMethodDecl::getSendResultType(QualType receiverType) const {
 1395   QualType TPType = ctx.getObjCTypeParamType(TPDecl, {});
 1445        SmallVectorImpl<QualType> &typeArgs) const {
 1750                                    QualType T, TypeSourceInfo *TInfo,
 1813 QualType ObjCIvarDecl::getUsageType(QualType objectType) const {
 1813 QualType ObjCIvarDecl::getUsageType(QualType objectType) const {
 1827                              IdentifierInfo *Id, QualType T, Expr *BW) {
 2223                                            QualType T,
 2237 QualType ObjCPropertyDecl::getUsageType(QualType objectType) const {
 2237 QualType ObjCPropertyDecl::getUsageType(QualType objectType) const {
tools/clang/lib/AST/DeclOpenMP.cpp
  136     QualType Ty, OMPDeclareReductionDecl *PrevDeclInScope)
  146     QualType T, OMPDeclareReductionDecl *PrevDeclInScope) {
  176                              DeclarationName Name, QualType T,
  235                                                  IdentifierInfo *Id, QualType T,
tools/clang/lib/AST/DeclPrinter.cpp
   48                              QualType T);
  115     void printDeclType(QualType T, StringRef DeclName, bool Pack = false);
  143 static QualType GetBaseType(QualType T) {
  143 static QualType GetBaseType(QualType T) {
  145   QualType BaseType = T;
  170 static QualType getDeclType(Decl* D) {
  270 void DeclPrinter::printDeclType(QualType T, StringRef DeclName, bool Pack) {
  406     QualType CurDeclType = getDeclType(*D);
  408       QualType BaseType = GetBaseType(CurDeclType);
  507   QualType Ty = D->getTypeSourceInfo()->getType();
  645   QualType Ty = D->getType();
  834   QualType T = D->getTypeSourceInfo()
 1208                                       QualType T) {
 1461   QualType T = PDecl->getType();
tools/clang/lib/AST/DeclTemplate.cpp
  462 ClassTemplateDecl::findPartialSpecialization(QualType T) {
  485 QualType
  519   QualType TTPType = C.getTemplateTypeParmType(D, P, ParameterPack, TTPDecl);
  566     unsigned P, IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo,
  567     ArrayRef<QualType> ExpandedTypes, ArrayRef<TypeSourceInfo *> ExpandedTInfos)
  573         getTrailingObjects<std::pair<QualType, TypeSourceInfo *>>();
  575       new (&TypesAndInfos[I].first) QualType(ExpandedTypes[I]);
  585                                 QualType T, bool ParameterPack,
  594     QualType T, TypeSourceInfo *TInfo, ArrayRef<QualType> ExpandedTypes,
  594     QualType T, TypeSourceInfo *TInfo, ArrayRef<QualType> ExpandedTypes,
  597               additionalSizeToAlloc<std::pair<QualType, TypeSourceInfo *>>(
  614       new (C, ID, additionalSizeToAlloc<std::pair<QualType, TypeSourceInfo *>>(
  901        QualType CanonInjectedType,
 1095     SourceLocation IdLoc, VarTemplateDecl *SpecializedTemplate, QualType T,
 1111     SourceLocation IdLoc, VarTemplateDecl *SpecializedTemplate, QualType T,
 1162     VarTemplateDecl *SpecializedTemplate, QualType T, TypeSourceInfo *TInfo,
 1178     VarTemplateDecl *SpecializedTemplate, QualType T, TypeSourceInfo *TInfo,
tools/clang/lib/AST/DeclarationName.cpp
  118 static void printCXXConstructorDestructorName(QualType ClassType,
  180     QualType Type = getCXXNameType();
  210   QualType T = getCXXNameType();
tools/clang/lib/AST/Expr.cpp
   64   QualType DerivedType = E->getType();
  369                                      QualType T, bool &TypeDependent,
  398     QualType T = D->getDeclName().getCXXNameType();
  478                          bool RefersToEnclosingVariableOrCapture, QualType T,
  501                          QualType T, ExprValueKind VK, NonOdrUseReason NOUR)
  546                                  SourceLocation NameLoc, QualType T,
  561                                  QualType T, ExprValueKind VK,
  609 PredefinedExpr::PredefinedExpr(SourceLocation L, QualType FNTy, IdentKind IK,
  631                                        QualType FNTy, IdentKind IK,
  914                                QualType type, SourceLocation l)
  926                        QualType type, SourceLocation l) {
  936                                      QualType type, SourceLocation l,
  949                                                        QualType type,
  966                                  bool isexact, QualType Type, SourceLocation L)
  982                         bool isexact, QualType Type, SourceLocation L) {
 1028                              StringKind Kind, bool Pascal, QualType Ty,
 1082                                      StringKind Kind, bool Pascal, QualType Ty,
 1336                    ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
 1382                            ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
 1394 CallExpr *CallExpr::CreateTemporary(void *Mem, Expr *Fn, QualType Ty,
 1496 QualType CallExpr::getCallReturnType(const ASTContext &Ctx) const {
 1498   QualType CalleeType = Callee->getType();
 1547 OffsetOfExpr *OffsetOfExpr::Create(const ASTContext &C, QualType type,
 1567 OffsetOfExpr::OffsetOfExpr(const ASTContext &C, QualType type,
 1602     UnaryExprOrTypeTrait ExprKind, Expr *E, QualType resultType,
 1641                        const DeclarationNameInfo &NameInfo, QualType T,
 1664     QualType T, ExprValueKind VK, ExprObjectKind OK, NonOdrUseReason NOUR) {
 1811     auto Ty = getType();
 1812     auto SETy = getSubExpr()->getType();
 1961 const FieldDecl *CastExpr::getTargetFieldForToUnionCast(QualType unionType,
 1962                                                         QualType opType) {
 1968                                                         QualType OpType) {
 1981 ImplicitCastExpr *ImplicitCastExpr::Create(const ASTContext &C, QualType T,
 2007 CStyleCastExpr *CStyleCastExpr::Create(const ASTContext &C, QualType T,
 2135 static QualType getDecayedSourceLocExprType(const ASTContext &Ctx,
 2140     QualType ArrTy = Ctx.getStringLiteralArrayType(Ctx.CharTy, 0);
 2759       QualType T = VD->getType();
 2782 QualType Expr::findBoundMemberType(const Expr *expr) {
 2796     QualType type = op->getRHS()->getType()->castAs<MemberPointerType>()
 3707         QualType Pointee = PT->getPointeeType();
 4099                                      QualType Type, SourceLocation BLoc,
 4233 DesignatedInitExpr::DesignatedInitExpr(const ASTContext &C, QualType Ty,
 4490   QualType type;
 4508 PseudoObjectExpr::PseudoObjectExpr(QualType type, ExprValueKind VK,
 4561                        QualType t, AtomicOp op, SourceLocation RP)
 4642 QualType AtomicExpr::getValueType() const {
 4643   auto T = getPtr()->getType()->castAs<PointerType>()->getPointeeType();
 4649 QualType OMPArraySectionExpr::getBaseOriginalType(const Expr *Base) {
 4661   auto OriginalTy = Base->getType();
tools/clang/lib/AST/ExprCXX.cpp
  146 QualType CXXTypeidExpr::getTypeOperand(ASTContext &Context) const {
  153 QualType CXXUuidofExpr::getTypeOperand(ASTContext &Context) const {
  172                        Expr *Initializer, QualType Ty,
  263                    QualType Ty, TypeSourceInfo *AllocatedTypeInfo,
  300 QualType CXXDeleteExpr::getDestroyedType() const {
  319   const QualType ArgType = Arg->getType();
  368 QualType CXXPseudoDestructorExpr::getDestroyedType() const {
  525     QualType Ty, NestedNameSpecifierLoc QualifierLoc,
  616                                          QualType Ty, ExprValueKind VK,
  637     ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
  685                                      QualType Ty, ExprValueKind VK,
  694                                              ArrayRef<Expr *> Args, QualType Ty,
  730 QualType CXXMemberCallExpr::getObjectType() const {
  731   QualType Ty = getImplicitObjectArgument()->getType();
  773 CXXStaticCastExpr *CXXStaticCastExpr::Create(const ASTContext &C, QualType T,
  798 CXXDynamicCastExpr *CXXDynamicCastExpr::Create(const ASTContext &C, QualType T,
  833   QualType SrcType = getSubExpr()->getType();
  834   QualType DestType = getType();
  857 CXXReinterpretCastExpr::Create(const ASTContext &C, QualType T,
  880 CXXConstCastExpr *CXXConstCastExpr::Create(const ASTContext &C, QualType T,
  894 CXXFunctionalCastExpr::Create(const ASTContext &C, QualType T, ExprValueKind VK,
  923                                        QualType Ty, ExprValueKind VK,
  935                                                QualType Ty, ExprValueKind VK,
  966   QualType ParamTy =
  993                                        FieldDecl *Field, QualType Ty,
 1021     CXXConstructorDecl *Cons, QualType Ty, TypeSourceInfo *TSI,
 1037     const ASTContext &Ctx, CXXConstructorDecl *Cons, QualType Ty,
 1071     const ASTContext &Ctx, QualType Ty, SourceLocation Loc,
 1095     StmtClass SC, QualType Ty, SourceLocation Loc, CXXConstructorDecl *Ctor,
 1171 LambdaExpr::LambdaExpr(QualType T, SourceRange IntroducerRange,
 1222   QualType T = Context.getTypeDeclType(Class);
 1397     const ASTContext &Ctx, Expr *Base, QualType BaseType, bool IsArrow,
 1446     const ASTContext &Ctx, Expr *Base, QualType BaseType, bool IsArrow,
 1499     QualType BaseType, bool IsArrow, SourceLocation OperatorLoc,
 1539     QualType BaseType, bool IsArrow, SourceLocation OperatorLoc,
 1584     QualType BaseType = getBaseType().getNonReferenceType();
 1615 SubstNonTypeTemplateParmPackExpr(QualType T,
 1629 FunctionParmPackExpr::FunctionParmPackExpr(QualType T, VarDecl *ParamPack,
 1642 FunctionParmPackExpr::Create(const ASTContext &Context, QualType T,
 1675 TypeTraitExpr::TypeTraitExpr(QualType T, SourceLocation Loc, TypeTrait Kind,
 1703 TypeTraitExpr *TypeTraitExpr::Create(const ASTContext &C, QualType T,
 1720                                        ArrayRef<Expr *> Args, QualType Ty,
 1732                            ArrayRef<Expr *> Args, QualType Ty, ExprValueKind VK,
tools/clang/lib/AST/ExprClassification.cpp
   28 static Cl::Kinds ClassifyUnnamed(ASTContext &Ctx, QualType T);
   77 static Cl::Kinds ClassifyTemporary(QualType T) {
  464 static Cl::Kinds ClassifyUnnamed(ASTContext &Ctx, QualType T) {
tools/clang/lib/AST/ExprConstant.cpp
   77   static QualType getType(APValue::LValueBase B) {
   89         QualType T = Redecl->getType();
  140   static QualType getStorageType(const ASTContext &Ctx, const Expr *E) {
  195                            uint64_t &ArraySize, QualType &Type, bool &IsArray,
  268     QualType MostDerivedType;
  277     explicit SubobjectDesignator(QualType T)
  386     QualType getType(ASTContext &Ctx) const {
  405     void addUnsizedArrayUnchecked(QualType ElemTy) {
  430     void addComplexUnchecked(QualType EltTy, bool Imag) {
  589     APValue &createTemporary(const KeyT *Key, QualType T,
  624                               const LValue &This, QualType ThisType);
  627                               QualType T);
  634     QualType T;
  637     Cleanup(APValue *Val, APValue::LValueBase Base, QualType T,
  987     APValue *createHeapAlloc(const Expr *E, QualType T, LValue &LV);
 1000       QualType ElemType;
 1514     void setNull(ASTContext &Ctx, QualType PointerTy) {
 1527     std::string toString(ASTContext &Ctx, QualType T) const {
 1575     void addUnsizedArray(EvalInfo &Info, const Expr *E, QualType ElemTy) {
 1591     void addComplex(EvalInfo &Info, const Expr *E, QualType EltTy, bool Imag) {
 1766 APValue &CallStackFrame::createTemporary(const KeyT *Key, QualType T,
 1787 APValue *EvalInfo::createHeapAlloc(const Expr *E, QualType T, LValue &LV) {
 1935     QualType Ty = Decl->getType();
 1992                                   QualType Type, const APValue &Value,
 2001                                           QualType Type, const LValue &LVal,
 2067       QualType TempType = getType(Base);
 2111                                                  QualType Type,
 2156                                   QualType Type, const APValue &Value,
 2177     QualType EltTy = Type->castAsArrayTypeUnsafe()->getElementType();
 2239 CheckConstantExpression(EvalInfo &Info, SourceLocation DiagLoc, QualType Type,
 2251                                   QualType Type, const APValue &Value) {
 2336                            const T &SrcValue, QualType DestType) {
 2343                                  QualType SrcType, const APFloat &Value,
 2344                                  QualType DestType, APSInt &Result) {
 2358                                    QualType SrcType, QualType DestType,
 2358                                    QualType SrcType, QualType DestType,
 2368                                  QualType DestType, QualType SrcType,
 2368                                  QualType DestType, QualType SrcType,
 2381                                  QualType SrcType, const APSInt &Value,
 2382                                  QualType DestType, APFloat &Result) {
 2424     QualType VecTy = E->getType();
 2426     QualType EltTy = VecTy->castAs<VectorType>()->getElementType();
 2693                                  QualType Type, LValue &Result) {
 2748                          QualType Type, CharUnits &Size) {
 2779                                         LValue &LVal, QualType EltTy,
 2790                                         LValue &LVal, QualType EltTy,
 2802                                        LValue &LVal, QualType EltTy,
 2908 static bool IsConstNonVolatile(QualType T) {
 2948   QualType CharType = CAT->getElementType();
 2964                                 QualType AllocType = QualType()) {
 2968   QualType CharType = CAT->getElementType();
 3010 static bool isReadByLvalueToRvalueConversion(QualType T) {
 3031                                   QualType T) {
 3121   QualType Type;
 3124   CompleteObject(APValue::LValueBase Base, APValue *Value, QualType Type)
 3140 static QualType getSubobjectType(QualType ObjType, QualType SubobjType,
 3140 static QualType getSubobjectType(QualType ObjType, QualType SubobjType,
 3140 static QualType getSubobjectType(QualType ObjType, QualType SubobjType,
 3174   QualType ObjType = Obj.Type;
 3364   bool found(APValue &Subobj, QualType SubobjType) {
 3370   bool found(APSInt &Value, QualType SubobjType) {
 3374   bool found(APFloat &Value, QualType SubobjType) {
 3400   bool checkConst(QualType QT) {
 3410   bool found(APValue &Subobj, QualType SubobjType) {
 3417   bool found(APSInt &Value, QualType SubobjType) {
 3428   bool found(APFloat &Value, QualType SubobjType) {
 3450 static unsigned FindDesignatorMismatch(QualType ObjType,
 3487 static bool AreElementsOfSameArray(QualType ObjType,
 3509                                          QualType LValType) {
 3550   QualType BaseType = getType(LVal.Base);
 3727 handleLValueToRValueConversion(EvalInfo &Info, const Expr *Conv, QualType Type,
 3784                              QualType LValType, APValue &Val) {
 3801   QualType PromotedLHSType;
 3809   bool checkConst(QualType QT) {
 3819   bool found(APValue &Subobj, QualType SubobjType) {
 3838   bool found(APSInt &Value, QualType SubobjType) {
 3868   bool found(APFloat &Value, QualType SubobjType) {
 3875   bool foundPointer(APValue &Subobj, QualType SubobjType) {
 3879     QualType PointeeType;
 3908     const LValue &LVal, QualType LValType, QualType PromotedLValType,
 3908     const LValue &LVal, QualType LValType, QualType PromotedLValType,
 3933   bool checkConst(QualType QT) {
 3943   bool found(APValue &Subobj, QualType SubobjType) {
 3972   bool found(APSInt &Value, QualType SubobjType) {
 4015   bool found(APFloat &Value, QualType SubobjType) {
 4028   bool foundPointer(APValue &Subobj, QualType SubobjType) {
 4032     QualType PointeeType;
 4053                          QualType LValType, bool IsIncrement, APValue *Old) {
 4096                                                   QualType LVType,
 4203   QualType TargetQT = E->getType();
 4234 static APValue getDefaultInitValue(QualType T) {
 4951   bool found(APValue &Subobj, QualType SubobjType) { return true; }
 4952   bool found(APSInt &Value, QualType SubobjType) { return true; }
 4953   bool found(APFloat &Value, QualType SubobjType) { return true; }
 4985       QualType StarThisType =
 5082     llvm::SmallVectorImpl<QualType> &CovariantAdjustmentPath) {
 5147                                             ArrayRef<QualType> Path) {
 5288   bool found(APValue &Subobj, QualType SubobjType) {
 5303   bool found(APSInt &Value, QualType SubobjType) {
 5306   bool found(APFloat &Value, QualType SubobjType) {
 5633       QualType BaseType(I->getBaseClass(), 0);
 5747                                   QualType T) {
 5767     QualType ElemT = CAT->getElementType();
 5893     QualType BaseType = Base.getType();
 5920   bool found(APValue &Subobj, QualType SubobjType) {
 5924   bool found(APSInt &Value, QualType SubobjType) {
 5928   bool found(APFloat &Value, QualType SubobjType) {
 5938                               const LValue &This, QualType ThisType) {
 5947                               QualType T) {
 5974   QualType ElemType = Caller.ElemType;
 6014   QualType AllocType = Info.Ctx.getConstantArrayType(ElemType, Size, nullptr,
 6022 static bool hasVirtualDestructor(QualType T) {
 6029 static const FunctionDecl *getVirtualOperatorDelete(QualType T) {
 6063   QualType AllocType = Pointer.Base.getDynamicAllocType();
 6186   bool visit(const APValue &Val, QualType Ty) {
 6191   bool visit(const APValue &Val, QualType Ty, CharUnits Offset) {
 6234   bool visitRecord(const APValue &Val, QualType Ty, CharUnits Offset) {
 6265       QualType FieldTy = FD->getType();
 6274   bool visitArray(const APValue &Val, QualType Ty, CharUnits Offset) {
 6302   bool visitInt(const APSInt &Val, QualType Ty, CharUnits Offset) {
 6310   bool visitFloat(const APFloat &Val, QualType Ty, CharUnits Offset) {
 6339   llvm::NoneType unsupportedType(QualType Ty) {
 6365         QualType DisplayType(EnumSugar ? (const Type *)EnumSugar : T, 0);
 6437       QualType FieldTy = FD->getType();
 6449     QualType RepresentationType = Ty->getDecl()->getIntegerType();
 6479   Optional<APValue> visitType(QualType Ty, CharUnits Offset) {
 6480     QualType Can = Ty.getCanonicalType();
 6512                                                  QualType Ty, EvalInfo *Info,
 6844     QualType CalleeType = Callee->getType();
 6963     SmallVector<QualType, 4> CovariantAdjustmentPath;
 7034     QualType BaseTy = E->getBase()->getType();
 7209     QualType BaseTy;
 7491   QualType Type = Inner->getType();
 7788   QualType Pointee = E->getType()->castAs<PointerType>()->getPointeeType();
 7926   QualType Pointee = PExp->getType()->castAs<PointerType>()->getPointeeType();
 8064 static CharUnits GetAlignOfType(EvalInfo &Info, QualType T,
 8121   QualType PointeeTy = E->getType()->castAs<PointerType>()->getPointeeType();
 8244     QualType CharTy = Result.Designator.getType(Info.Ctx);
 8371     QualType T = Dest.Designator.getType(Info.Ctx);
 8372     QualType SrcT = Src.Designator.getType(Info.Ctx);
 8464                                      QualType AllocType);
 8515   QualType AllocType = E->getAllocatedType();
 8595       QualType AllocType;
 8601       bool found(APValue &Subobj, QualType SubobjType) {
 8612       bool found(APSInt &Value, QualType SubobjType) {
 8616       bool found(APFloat &Value, QualType SubobjType) {
 8767     bool ZeroInitialization(const Expr *E, QualType T);
 8779     bool VisitCXXConstructExpr(const CXXConstructExpr *E, QualType T);
 8835 bool RecordExprEvaluator::ZeroInitialization(const Expr *E, QualType T) {
 9002                                                 QualType T) {
 9264   QualType SETy = SE->getType();
 9293     QualType EltTy = VTy->getElementType();
 9335   QualType EltTy = VT->getElementType();
 9381   QualType EltTy = VT->getElementType();
 9439                            QualType AllocType = QualType());
 9444                                APValue *Value, QualType Type);
 9446                             QualType AllocType = QualType()) {
 9461                                      QualType AllocType) {
 9485                                            QualType AllocType) {
 9598                                                QualType Type) {
 9954 EvaluateBuiltinClassifyType(QualType T, const LangOptions &LangOpts) {
 9957   QualType CanTy = T.getCanonicalType();
10137   QualType ArgType = Arg->getType();
10176 static QualType getObjectType(APValue::LValueBase B) {
10262   QualType BaseType = getType(Base);
10389     QualType BaseTy = getObjectType(LVal.getLValueBase());
10711     QualType CharTy = E->getArg(0)->getType()->getPointeeType();
10796     QualType CharTy1 = String1.Designator.getType(Info.Ctx);
10797     QualType CharTy2 = String2.Designator.getType(Info.Ctx);
10934         QualType PointeeType = E->getArg(1)->IgnoreImpCasts()->getType()->
10974     QualType ResultType = E->getArg(2)->getType()->getPointeeType();
11087   QualType Ty = getType(LV.getLValueBase());
11452   QualType LHSTy = E->getLHS()->getType();
11453   QualType RHSTy = E->getRHS()->getType();
11676       QualType BaseTy = getType(LHSValue.Base);
11807   QualType LHSTy = E->getLHS()->getType();
11808   QualType RHSTy = E->getRHS()->getType();
11856     QualType Type = E->getLHS()->getType();
11857     QualType ElementType = Type->castAs<PointerType>()->getPointeeType();
11912     QualType Ty = E->getTypeOfArgument();
11928     QualType SrcTy = E->getTypeOfArgument();
11956   QualType CurrentType = OOE->getTypeSourceInfo()->getType();
12063   QualType DestType = E->getType();
12064   QualType SrcType = SubExpr->getType();
12300   QualType DestType = E->getType();
12409                                   QualType ResultTy,
12641   QualType ElemTy = E->getType()->castAs<ComplexType>()->getElementType();
12760     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12761     QualType From
12772     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12773     QualType From
12796     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12797     QualType From
12809     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12810     QualType From
13225   QualType AllocType = Pointer.Base.getDynamicAllocType();
13276   QualType T = E->getType();
13331     QualType Unqual = T.getAtomicUnqualifiedType();
13365     QualType T = E->getType();
13371       QualType Unqual = T.getAtomicUnqualifiedType();
13617   QualType DeclTy = VD->getType();
13682   QualType DeclTy = getType();
tools/clang/lib/AST/ExprObjC.cpp
   26 ObjCArrayLiteral::ObjCArrayLiteral(ArrayRef<Expr *> Elements, QualType T,
   46                                            QualType T, ObjCMethodDecl *Method,
   59                                              bool HasPackExpansions, QualType T,
   96                               bool HasPackExpansions, QualType T,
  112 QualType ObjCPropertyRefExpr::getReceiverType(const ASTContext &ctx) const {
  122 ObjCMessageExpr::ObjCMessageExpr(QualType T, ExprValueKind VK,
  125                                  QualType SuperType, Selector Sel,
  144 ObjCMessageExpr::ObjCMessageExpr(QualType T, ExprValueKind VK,
  162 ObjCMessageExpr::ObjCMessageExpr(QualType T, ExprValueKind VK,
  206 ObjCMessageExpr::Create(const ASTContext &Context, QualType T, ExprValueKind VK,
  208                         bool IsInstanceSuper, QualType SuperType, Selector Sel,
  226 ObjCMessageExpr::Create(const ASTContext &Context, QualType T, ExprValueKind VK,
  245 ObjCMessageExpr::Create(const ASTContext &Context, QualType T, ExprValueKind VK,
  296 QualType ObjCMessageExpr::getCallReturnType(ASTContext &Ctx) const {
  298     QualType QT = MD->getReturnType();
  309   QualType QT = getType();
  344 QualType ObjCMessageExpr::getReceiverType() const {
  359   QualType T = getReceiverType();
tools/clang/lib/AST/FormatString.cpp
  324 ArgType::matchesType(ASTContext &C, QualType argTy) const {
  419       QualType pointeeTy = PT->getPointeeType();
  439       QualType pointeeTy =
  445       QualType WInt = C.getCanonicalType(C.getWIntType()).getUnqualifiedType();
  450       QualType PromoArg = argTy->isPromotableIntegerType()
  485         QualType pointee = PT->getPointeeType();
  501   QualType Vec = C.getExtVectorType(T, NumElts);
  505 QualType ArgType::getRepresentativeType(ASTContext &C) const {
  506   QualType Res;
  978 bool FormatSpecifier::namedTypeToLengthModifier(QualType QT,
 1003     QualType T = Typedef->getUnderlyingType();
tools/clang/lib/AST/InheritViz.cpp
   36   std::map<QualType, int, QualTypeOrdering> DirectBaseCount;
   37   std::set<QualType, QualTypeOrdering> KnownVirtualBases;
   43   void WriteGraph(QualType Type) {
   53   void WriteNode(QualType Type, bool FromVirtual);
   58   raw_ostream& WriteNodeReference(QualType Type, bool FromVirtual);
   62 void InheritanceHierarchyWriter::WriteNode(QualType Type, bool FromVirtual) {
   63   QualType CanonType = Context.getCanonicalType(Type);
   96     QualType CanonBaseType = Context.getCanonicalType(Base.getType());
  124 InheritanceHierarchyWriter::WriteNodeReference(QualType Type,
  126   QualType CanonType = Context.getCanonicalType(Type);
  137   QualType Self = Context.getTypeDeclType(this);
tools/clang/lib/AST/Interp/ByteCodeEmitter.cpp
   33   QualType Ty = F->getReturnType();
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp
  134   QualType LitTy = LE->getType();
  383       QualType VT = VD->getType();
  438   QualType Ty;
  498 const RecordType *ByteCodeExprGen<Emitter>::getRecordTy(QualType Ty) {
  506 Record *ByteCodeExprGen<Emitter>::getRecord(QualType Ty) {
tools/clang/lib/AST/Interp/ByteCodeExprGen.h
   83   const RecordType *getRecordTy(QualType Ty);
   86   Record *getRecord(QualType Ty);
   90   unsigned getIntWidth(QualType Ty) {
  105   llvm::Optional<PrimType> classify(QualType Ty) const {
  110   bool needsAdjust(QualType Ty) const {
  115   PrimType classifyPrim(QualType Ty) const {
  198     QualType Ty = E->getType();
tools/clang/lib/AST/Interp/ByteCodeStmtGen.cpp
  231   auto DT = VD->getType();
tools/clang/lib/AST/Interp/Context.cpp
   68 llvm::Optional<PrimType> Context::classify(QualType T) {
tools/clang/lib/AST/Interp/Context.h
   77   llvm::Optional<PrimType> classify(QualType T);
tools/clang/lib/AST/Interp/Descriptor.cpp
  245 QualType Descriptor::getType() const {
tools/clang/lib/AST/Interp/Descriptor.h
  109   QualType getType() const;
tools/clang/lib/AST/Interp/EvalEmitter.cpp
  109   std::function<bool(QualType, const Pointer &, APValue &)> Composite;
  124           QualType FieldTy = F.Decl->getType();
  144           QualType FieldTy = FD->Decl->getType();
  157           QualType BaseTy = Ctx.getASTContext().getRecordType(BD->Decl);
  164           QualType VirtBaseTy = Ctx.getASTContext().getRecordType(VD->Decl);
  173       QualType ElemTy = AT->getElementType();
tools/clang/lib/AST/Interp/Interp.cpp
  264   const QualType Ty = Ptr.getType();
tools/clang/lib/AST/Interp/Interp.h
  119   QualType Type = E->getType();
  855     QualType Ty = E->getType();
tools/clang/lib/AST/Interp/InterpFrame.cpp
   57 static void print(llvm::raw_ostream &OS, const T &V, ASTContext &, QualType) {
   63            QualType Ty) {
  122     QualType Ty = F->getParamDecl(I)->getType();
tools/clang/lib/AST/Interp/InterpState.cpp
   52   QualType Type = E->getType();
tools/clang/lib/AST/Interp/Pointer.h
  178   QualType getType() const { return getFieldDesc()->getType(); }
tools/clang/lib/AST/Interp/Program.cpp
  126   QualType ElemTy = PD->getType()->castAs<PointerType>()->getPointeeType();
  127   QualType Ty = ASTCtx.getIncompleteArrayType(ElemTy, ArrayType::Normal, 0);
  162 llvm::Optional<unsigned> Program::createGlobal(const DeclTy &D, QualType Ty,
  273     QualType FT = FD->getType();
  307     QualType ElemTy = ArrayType->getElementType();
tools/clang/lib/AST/Interp/Program.h
  133   llvm::Optional<unsigned> createGlobal(const DeclTy &D, QualType Ty,
tools/clang/lib/AST/ItaniumMangle.cpp
  149   void mangleCXXRTTI(QualType T, raw_ostream &) override;
  150   void mangleCXXRTTIName(QualType T, raw_ostream &) override;
  151   void mangleTypeName(QualType T, raw_ostream &) override;
  427   void mangleType(QualType T);
  434   bool mangleSubstitution(QualType T);
  447   void addSubstitution(QualType T);
  502   void manglePrefix(QualType type);
  505   bool mangleUnresolvedTypeOrSimpleId(QualType DestroyedType,
  533   void mangleIntegerLiteral(QualType T, const llvm::APSInt &Value);
 1085 void CXXNameMangler::manglePrefix(QualType type) {
 1704       QualType T = Tn->getType();
 1968 bool CXXNameMangler::mangleUnresolvedTypeOrSimpleId(QualType Ty,
 2406 void CXXNameMangler::mangleType(QualType T) {
 2451       QualType Desugared
 2825       for (auto ExceptTy : T->exceptions())
 2877     QualType ReturnTy = Proto->getReturnType();
 2904     QualType ParamTy = Proto->getParamType(I);
 2975   QualType PointeeType = T->getPointeeType();
 3046   QualType EltType = T->getElementType();
 3137   QualType EltType = T->getElementType();
 3280     for (auto typeArg : T->getTypeArgs())
 3431   QualType D = T->getDeducedType();
 3452 void CXXNameMangler::mangleIntegerLiteral(QualType T,
 3602   QualType ImplicitlyConvertedToType;
 3686       QualType UuidT = UE->getTypeOperand(Context.getASTContext());
 3847     QualType DestroyedType = PDE->getDestroyedType();
 3982       QualType T = (ImplicitlyConvertedToType.isNull() ||
 4678 static bool hasMangledSubstitutionQualifiers(QualType T) {
 4683 bool CXXNameMangler::mangleSubstitution(QualType T) {
 4715 static bool isCharType(QualType T) {
 4725 static bool isCharSpecialization(QualType T, const char *Name) {
 4847 void CXXNameMangler::addSubstitution(QualType T) {
 5128 void ItaniumMangleContextImpl::mangleCXXRTTI(QualType Ty, raw_ostream &Out) {
 5136 void ItaniumMangleContextImpl::mangleCXXRTTIName(QualType Ty,
 5144 void ItaniumMangleContextImpl::mangleTypeName(QualType Ty, raw_ostream &Out) {
tools/clang/lib/AST/JSONNodeDumper.cpp
   85 void JSONNodeDumper::Visit(QualType T) {
  266 llvm::json::Object JSONNodeDumper::createQualType(QualType QT, bool Desugar) {
  268   llvm::json::Object Ret{{"qualType", QualType::getAsString(SQT, PrintPolicy)}};
  273       Ret["desugaredQualType"] = QualType::getAsString(DSQT, PrintPolicy);
  515     for (QualType QT : E.ExceptionSpec.Exceptions)
 1067   QualType CallReturnTy = OME->getCallReturnType(Ctx);
 1265     QualType Adjusted = CTE->getTypeOperand(Ctx);
 1266     QualType Unadjusted = CTE->getTypeOperandSourceInfo()->getType();
tools/clang/lib/AST/Linkage.h
  150   LinkageInfo computeTypeLinkageInfo(QualType T) {
  157   LinkageInfo getTypeLinkageAndVisibility(QualType T) {
tools/clang/lib/AST/Mangle.cpp
   78   QualType T = FD->getType();
  188   for (const auto &AT : Proto->param_types())
tools/clang/lib/AST/MicrosoftMangle.cpp
  156   void mangleCXXThrowInfo(QualType T, bool IsConst, bool IsVolatile,
  159   void mangleCXXCatchableTypeArray(QualType T, uint32_t NumEntries,
  161   void mangleCXXCatchableType(QualType T, const CXXConstructorDecl *CD,
  165   void mangleCXXRTTI(QualType T, raw_ostream &Out) override;
  166   void mangleCXXRTTIName(QualType T, raw_ostream &Out) override;
  179   void mangleTypeName(QualType T, raw_ostream &) override;
  324   void mangleAddressSpaceType(QualType T, Qualifiers Quals, SourceRange Range);
  325   void mangleType(QualType T, SourceRange Range,
  348   void manglePointerExtQualifiers(Qualifiers Quals, QualType PointeeType);
  356   void mangleFunctionArgumentType(QualType T, SourceRange Range);
  359   bool isArtificialTagType(QualType T) const;
  388   void mangleObjCLifetime(const QualType T, Qualifiers Quals,
  561   QualType Ty = VD->getType();
 1453     QualType T = TA.getAsType();
 1483     QualType T = TA.getNullPtrType();
 1563 void MicrosoftCXXNameMangler::mangleObjCLifetime(const QualType Type,
 1710                                                          QualType PointeeType) {
 1742 void MicrosoftCXXNameMangler::mangleFunctionArgumentType(QualType T,
 1753     QualType OriginalType = DT->getOriginalType();
 1816 void MicrosoftCXXNameMangler::mangleAddressSpaceType(QualType T,
 1880 void MicrosoftCXXNameMangler::mangleType(QualType T, SourceRange Range,
 2253     QualType ResultType = T->getReturnType();
 2519   QualType ElementTy(T, 0);
 2564   QualType PointeeType = T->getPointeeType();
 2601   QualType PointeeType = T->getPointeeType();
 2613   QualType PointeeType = T->getPointeeType();
 2633   QualType PointeeType = T->getPointeeType();
 2645   QualType PointeeType = T->getPointeeType();
 2654   QualType ElementType = T->getElementType();
 2671 bool MicrosoftCXXNameMangler::isArtificialTagType(QualType T) const {
 2799     for (const auto &TA : T->getTypeArgs())
 2813   QualType PointeeType = T->getPointeeType();
 2924   QualType ValueType = T->getValueType();
 3133 void MicrosoftMangleContextImpl::mangleCXXRTTI(QualType T, raw_ostream &Out) {
 3141 void MicrosoftMangleContextImpl::mangleCXXRTTIName(QualType T,
 3158 void MicrosoftMangleContextImpl::mangleCXXThrowInfo(QualType T, bool IsConst,
 3177     QualType T, uint32_t NumEntries, raw_ostream &Out) {
 3186     QualType T, const CXXConstructorDecl *CD, CXXCtorType CT, uint32_t Size,
 3309 void MicrosoftMangleContextImpl::mangleTypeName(QualType T, raw_ostream &Out) {
tools/clang/lib/AST/NSAPI.cpp
  378 NSAPI::getNSNumberFactoryMethodKind(QualType T) const {
  385     QualType TDTTy = QualType(TDT, 0);
  493 bool NSAPI::isObjCBOOLType(QualType T) const {
  497 bool NSAPI::isObjCNSIntegerType(QualType T) const {
  501 bool NSAPI::isObjCNSUIntegerType(QualType T) const {
  505 StringRef NSAPI::GetNSIntegralKind(QualType T) const {
  556 bool NSAPI::isObjCTypedef(QualType T,
tools/clang/lib/AST/ODRHash.cpp
  262   void AddQualType(QualType T) {
  675   void AddQualType(QualType T) {
  713     QualType UnderlyingType = D->getUnderlyingType();
  728     QualType NamedType = ElaboratedT->getNamedType();
  757     QualType Original = T->getOriginalType();
  758     QualType Adjusted = T->getAdjustedType();
  891     for (auto ParamType : T->getParamTypes())
  918     for (auto Arg : TypeArgs) {
 1022     QualType UnderlyingType = T->getDecl()->getUnderlyingType();
 1112 void ODRHash::AddQualType(QualType T) {
tools/clang/lib/AST/PrintfFormatString.cpp
  680 bool PrintfSpecifier::fixType(QualType QT, const LangOptions &LangOpt,
tools/clang/lib/AST/QualTypeNames.cpp
  105     QualType SubTy = Arg.getAsType();
  107     QualType QTFQ = getFullyQualifiedType(SubTy, Ctx, WithGlobalNsPrefix);
  141       QualType QT = Ctx.getTemplateSpecializationType(
  173         QualType QT = Ctx.getTemplateSpecializationType(
  368 QualType getFullyQualifiedType(QualType QT, const ASTContext &Ctx,
  368 QualType getFullyQualifiedType(QualType QT, const ASTContext &Ctx,
  387     QualType Class = getFullyQualifiedType(QualType(MPT->getClass(), 0), Ctx,
  463 std::string getFullyQualifiedName(QualType QT,
  467   QualType FQQT = getFullyQualifiedType(QT, Ctx, WithGlobalNsPrefix);
tools/clang/lib/AST/RecordLayoutBuilder.cpp
  436   QualType T = FD->getType();
  442     QualType ElemTy = Context.getBaseElementType(AT);
  538   QualType T = FD->getType();
  546     QualType ElemTy = Context.getBaseElementType(AT);
 1407   QualType IntegralPODTypes[] = {
 1412   QualType Type;
 1413   for (const QualType &QT : IntegralPODTypes) {
 1796       QualType T = Context.getBaseElementType(D->getType());
tools/clang/lib/AST/ScanfFormatString.cpp
  412 bool ScanfSpecifier::fixType(QualType QT, QualType RawQT,
  412 bool ScanfSpecifier::fixType(QualType QT, QualType RawQT,
  423   QualType PT = QT->getPointeeType();
tools/clang/lib/AST/StmtCXX.cpp
   19 QualType CXXCatchStmt::getCaughtType() const {
tools/clang/lib/AST/StmtPrinter.cpp
 1303     QualType T = Assoc.getType();
tools/clang/lib/AST/StmtProfile.cpp
   51     virtual void VisitType(QualType T) = 0;
  135     void VisitType(QualType T) override {
  181     void VisitType(QualType T) override {
 1296     QualType T = Assoc.getType();
tools/clang/lib/AST/TemplateBase.cpp
   87                                    QualType Type) {
  260 QualType TemplateArgument::getNonTypeTemplateArgumentType() const {
tools/clang/lib/AST/TextNodeDumper.cpp
  191   QualType SingleStepDesugar =
  211 void TextNodeDumper::Visit(QualType T) {
  386 void TextNodeDumper::dumpBareType(QualType T, bool Desugar) {
  390   OS << "'" << QualType::getAsString(T_split, PrintPolicy) << "'";
  396       OS << ":'" << QualType::getAsString(D_split, PrintPolicy) << "'";
  400 void TextNodeDumper::dumpType(QualType T) {
 1316            << QualType::getAsString(T_split, PrintPolicy) << "'";
tools/clang/lib/AST/Type.cpp
  102 bool QualType::isConstant(QualType T, const ASTContext &Ctx) {
  117 ArrayType::ArrayType(TypeClass tc, QualType et, QualType can,
  117 ArrayType::ArrayType(TypeClass tc, QualType et, QualType can,
  140                                                  QualType ElementType,
  187                                 const ASTContext &Context, QualType ET,
  201                                                  QualType et, QualType can,
  201                                                  QualType et, QualType can,
  210                                       QualType ET,
  221     const ASTContext &Context, QualType ElementType, QualType CanonType,
  221     const ASTContext &Context, QualType ElementType, QualType CanonType,
  234                                   QualType ElementType, const Expr *SizeExpr,
  243                                                          QualType ElementType,
  244                                                          QualType can,
  258                                      QualType ElementType, Expr *SizeExpr) {
  264     const ASTContext &Context, QualType PointeeType, QualType can,
  264     const ASTContext &Context, QualType PointeeType, QualType can,
  277                                         QualType PointeeType,
  283 VectorType::VectorType(QualType vecType, unsigned nElements, QualType canonType,
  283 VectorType::VectorType(QualType vecType, unsigned nElements, QualType canonType,
  287 VectorType::VectorType(TypeClass tc, QualType vecType, unsigned nElements,
  288                        QualType canonType, VectorKind vecKind)
  322 QualType QualType::getDesugaredType(QualType T, const ASTContext &Context) {
  322 QualType QualType::getDesugaredType(QualType T, const ASTContext &Context) {
  327 QualType QualType::getSingleStepDesugaredTypeImpl(QualType type,
  327 QualType QualType::getSingleStepDesugaredTypeImpl(QualType type,
  330   QualType desugar = split.Ty->getLocallyUnqualifiedSingleStepDesugaredType();
  354 QualType Type::getLocallyUnqualifiedSingleStepDesugaredType() const {
  368 SplitQualType QualType::getSplitDesugaredType(QualType T) {
  371   QualType Cur = T;
  389 SplitQualType QualType::getSplitUnqualifiedTypeImpl(QualType type) {
  399     QualType next;
  428 QualType QualType::IgnoreParens(QualType T) {
  428 QualType QualType::IgnoreParens(QualType T) {
  557 QualType Type::getPointeeType() const {
  656                                      QualType can,
  666 ObjCObjectType::ObjCObjectType(QualType Canonical, QualType Base,
  666 ObjCObjectType::ObjCObjectType(QualType Canonical, QualType Base,
  667                                ArrayRef<QualType> typeArgs,
  682            typeArgs.size() * sizeof(QualType));
  684   for (auto typeArg : typeArgs) {
  716 ArrayRef<QualType> ObjCObjectType::getTypeArgs() const {
  751 QualType ObjCObjectType::stripObjCKindOfTypeAndQuals(
  758   QualType baseType(splitBaseType.Ty, 0);
  774   QualType obj = getObjectType()->stripObjCKindOfTypeAndQuals(ctx);
  783 struct SimpleTransformVisitor : public TypeVisitor<Derived, QualType> {
  786   QualType recurse(QualType type) {
  786   QualType recurse(QualType type) {
  791     QualType result = static_cast<Derived *>(this)->Visit(splitType.Ty);
  826   QualType VisitComplexType(const ComplexType *T) {
  827     QualType elementType = recurse(T->getElementType());
  837   QualType VisitPointerType(const PointerType *T) {
  838     QualType pointeeType = recurse(T->getPointeeType());
  848   QualType VisitBlockPointerType(const BlockPointerType *T) {
  849     QualType pointeeType = recurse(T->getPointeeType());
  859   QualType VisitLValueReferenceType(const LValueReferenceType *T) {
  860     QualType pointeeType = recurse(T->getPointeeTypeAsWritten());
  871   QualType VisitRValueReferenceType(const RValueReferenceType *T) {
  872     QualType pointeeType = recurse(T->getPointeeTypeAsWritten());
  883   QualType VisitMemberPointerType(const MemberPointerType *T) {
  884     QualType pointeeType = recurse(T->getPointeeType());
  894   QualType VisitConstantArrayType(const ConstantArrayType *T) {
  895     QualType elementType = recurse(T->getElementType());
  907   QualType VisitVariableArrayType(const VariableArrayType *T) {
  908     QualType elementType = recurse(T->getElementType());
  921   QualType VisitIncompleteArrayType(const IncompleteArrayType *T) {
  922     QualType elementType = recurse(T->getElementType());
  933   QualType VisitVectorType(const VectorType *T) {
  934     QualType elementType = recurse(T->getElementType());
  945   QualType VisitExtVectorType(const ExtVectorType *T) {
  946     QualType elementType = recurse(T->getElementType());
  956   QualType VisitFunctionNoProtoType(const FunctionNoProtoType *T) {
  957     QualType returnType = recurse(T->getReturnType());
  967   QualType VisitFunctionProtoType(const FunctionProtoType *T) {
  968     QualType returnType = recurse(T->getReturnType());
  973     SmallVector<QualType, 4> paramTypes;
  975     for (auto paramType : T->getParamTypes()) {
  976       QualType newParamType = recurse(paramType);
  990       SmallVector<QualType, 4> exceptionTypes;
  991       for (auto exceptionType : info.ExceptionSpec.Exceptions) {
  992         QualType newExceptionType = recurse(exceptionType);
 1015   QualType VisitParenType(const ParenType *T) {
 1016     QualType innerType = recurse(T->getInnerType());
 1030   QualType VisitAdjustedType(const AdjustedType *T) {
 1031     QualType originalType = recurse(T->getOriginalType());
 1035     QualType adjustedType = recurse(T->getAdjustedType());
 1047   QualType VisitDecayedType(const DecayedType *T) {
 1048     QualType originalType = recurse(T->getOriginalType());
 1069   QualType VisitAttributedType(const AttributedType *T) {
 1070     QualType modifiedType = recurse(T->getModifiedType());
 1074     QualType equivalentType = recurse(T->getEquivalentType());
 1088   QualType VisitSubstTemplateTypeParmType(const SubstTemplateTypeParmType *T) {
 1089     QualType replacementType = recurse(T->getReplacementType());
 1104   QualType VisitAutoType(const AutoType *T) {
 1108     QualType deducedType = recurse(T->getDeducedType());
 1123   QualType VisitObjCObjectType(const ObjCObjectType *T) {
 1124     QualType baseType = recurse(T->getBaseType());
 1130     SmallVector<QualType, 4> typeArgs;
 1131     for (auto typeArg : T->getTypeArgsAsWritten()) {
 1132       QualType newTypeArg = recurse(typeArg);
 1154   QualType VisitObjCObjectPointerType(const ObjCObjectPointerType *T) {
 1155     QualType pointeeType = recurse(T->getPointeeType());
 1166   QualType VisitAtomicType(const AtomicType *T) {
 1167     QualType valueType = recurse(T->getValueType());
 1186   ArrayRef<QualType> TypeArgs;
 1189   SubstObjCTypeArgsVisitor(ASTContext &ctx, ArrayRef<QualType> typeArgs,
 1193   QualType VisitObjCTypeParamType(const ObjCTypeParamType *OTPTy) {
 1199       QualType argType = TypeArgs[typeParam->getIndex()];
 1232       QualType resultTy = Ctx.getObjCObjectType(
 1243   QualType VisitFunctionType(const FunctionType *funcType) {
 1248     QualType returnType = funcType->getReturnType().substObjCTypeArgs(
 1268     SmallVector<QualType, 4> paramTypes;
 1270     for (auto paramType : funcProtoType->getParamTypes()) {
 1271       QualType newParamType = paramType.substObjCTypeArgs(
 1286       SmallVector<QualType, 4> exceptionTypes;
 1287       for (auto exceptionType : info.ExceptionSpec.Exceptions) {
 1288         QualType newExceptionType = exceptionType.substObjCTypeArgs(
 1313   QualType VisitObjCObjectType(const ObjCObjectType *objcObjectType) {
 1317       SmallVector<QualType, 4> newTypeArgs;
 1319       for (auto typeArg : objcObjectType->getTypeArgsAsWritten()) {
 1320         QualType newTypeArg = typeArg.substObjCTypeArgs(
 1355   QualType VisitAttributedType(const AttributedType *attrType) {
 1356     QualType newType = BaseType::VisitAttributedType(attrType);
 1365     QualType newEquivType = newAttrType->getEquivalentType();
 1398   QualType VisitObjCObjectType(const ObjCObjectType *objType) {
 1402     QualType baseType = objType->getBaseType().stripObjCKindOfType(Ctx);
 1413 QualType QualType::substObjCTypeArgs(ASTContext &ctx,
 1414                                      ArrayRef<QualType> typeArgs,
 1420 QualType QualType::substObjCMemberType(QualType objectType,
 1420 QualType QualType::substObjCMemberType(QualType objectType,
 1429 QualType QualType::stripObjCKindOfType(const ASTContext &constCtx) const {
 1436 QualType QualType::getAtomicUnqualifiedType() const {
 1442 Optional<ArrayRef<QualType>> Type::getObjCSubstitutions(
 1504     QualType superType = objectType->getSuperClassType();
 1560   QualType superClassType(superClassObjTy, 0);
 1586     QualType unspecializedSuper
 1596   ArrayRef<QualType> typeArgs = getTypeArgs();
 1614 QualType ObjCObjectPointerType::getSuperClassType() const {
 1615   QualType superObjectType = getObjectType()->getSuperClassType();
 1674   QualType PointeeType;
 1727     Type *Visit(QualType T) {
 2208   QualType CanonicalType = getTypePtr()->CanonicalType;
 2258   QualType CanonicalType = getTypePtr()->CanonicalType;
 2300   QualType CanonicalType = getCanonicalType();
 2343 QualType::PrimitiveDefaultInitializeKind
 2360 QualType::PrimitiveCopyKind QualType::isNonTrivialToPrimitiveCopy() const {
 2377 QualType::PrimitiveCopyKind
 2704                          QualType Canon)
 2914 QualType QualType::getNonLValueExprType(const ASTContext &Context) const {
 2955 FunctionProtoType::FunctionProtoType(QualType result, ArrayRef<QualType> params,
 2955 FunctionProtoType::FunctionProtoType(QualType result, ArrayRef<QualType> params,
 2956                                      QualType canonical,
 2978   auto *argSlot = getTrailingObjects<QualType>();
 2978   auto *argSlot = getTrailingObjects<QualType>();
 2994     auto *exnSlot =
 2997     for (QualType ExceptionType : epi.ExceptionSpec.Exceptions) {
 3073   for (QualType ET : exceptions())
 3085   for (QualType ET : exceptions())
 3132 void FunctionProtoType::Profile(llvm::FoldingSetNodeID &ID, QualType Result,
 3133                                 const QualType *ArgTys, unsigned NumParams,
 3168     for (QualType Ex : epi.ExceptionSpec.Exceptions)
 3190 QualType TypedefType::desugar() const {
 3194 QualType MacroQualifiedType::desugar() const { return getUnderlyingType(); }
 3196 QualType MacroQualifiedType::getModifiedType() const {
 3199   QualType Inner = cast<AttributedType>(getUnderlyingType())->getModifiedType();
 3208 TypeOfExprType::TypeOfExprType(Expr *E, QualType can)
 3219 QualType TypeOfExprType::desugar() const {
 3231 DecltypeType::DecltypeType(Expr *E, QualType underlyingType, QualType can)
 3231 DecltypeType::DecltypeType(Expr *E, QualType underlyingType, QualType can)
 3243 QualType DecltypeType::desugar() const {
 3258 UnaryTransformType::UnaryTransformType(QualType BaseType,
 3259                                        QualType UnderlyingType,
 3261                                        QualType CanonicalType)
 3269                                                          QualType BaseType,
 3273 TagType::TagType(TypeClass TC, const TagDecl *D, QualType can)
 3305       QualType FieldTy = FD->getType();
 3389                               QualType Canon,
 3438                            QualType Canon, QualType AliasedType)
 3438                            QualType Canon, QualType AliasedType)
 3492 QualType
 3493 QualifierCollector::apply(const ASTContext &Context, QualType QT) const {
 3500 QualType
 3509                                  QualType BaseType,
 3510                                  ArrayRef<QualType> typeArgs,
 3515   for (auto typeArg : typeArgs)
 3574   static CachedProperties get(QualType T) {
 3692     for (const auto &ai : FPT->param_types())
 3777     for (const auto &ai : FPT->param_types())
 3822   QualType Type(this, 0);
 3835   QualType type = getCanonicalTypeInternal();
 3961 Optional<NullabilityKind> AttributedType::stripOuterNullability(QualType &T) {
 3962   QualType AttrTy = T;
 4041     QualType next = cur->getLocallyUnqualifiedSingleStepDesugaredType();
 4092   QualType Pointee = Pointer->getPointeeType();
 4114 QualType::DestructionKind QualType::isDestructedTypeImpl(QualType type) {
 4114 QualType::DestructionKind QualType::isDestructedTypeImpl(QualType type) {
tools/clang/lib/AST/TypeLoc.cpp
   71 unsigned TypeLoc::getLocalAlignmentForType(QualType Ty) {
   91 unsigned TypeLoc::getFullDataSizeForType(QualType Ty) {
tools/clang/lib/AST/TypePrinter.cpp
  113     void print(QualType T, raw_ostream &OS, StringRef PlaceHolder);
  119     void printBefore(QualType T, raw_ostream &OS);
  120     void printAfter(QualType T, raw_ostream &OS);
  164 static SplitQualType splitAccordingToPolicy(QualType QT,
  171 void TypePrinter::print(QualType t, raw_ostream &OS, StringRef PlaceHolder) {
  277 void TypePrinter::printBefore(QualType T, raw_ostream &OS) {
  337 void TypePrinter::printAfter(QualType t, raw_ostream &OS) {
  406 static QualType skipTopLevelReferences(QualType T) {
  406 static QualType skipTopLevelReferences(QualType T) {
  416   QualType Inner = skipTopLevelReferences(T->getPointeeTypeAsWritten());
  429   QualType Inner = skipTopLevelReferences(T->getPointeeTypeAsWritten());
  441   QualType Inner = skipTopLevelReferences(T->getPointeeTypeAsWritten());
  454   QualType Inner = skipTopLevelReferences(T->getPointeeTypeAsWritten());
 1538    QualType t = T->getEquivalentType();
 1607     for (auto typeArg : T->getTypeArgsAsWritten()) {
tools/clang/lib/AST/VTableBuilder.cpp
  232       QualType VBaseType = Element.Base->getType();
 2670       QualType CurTy = Element.Base->getType();
tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  116     else if (const QualType *Q = DynNode.get<QualType>())
  116     else if (const QualType *Q = DynNode.get<QualType>())
  159   bool TraverseType(QualType TypeNode) {
  230   bool baseTraverse(QualType TypeNode) {
  254   bool match(const T &Node) {
  281   bool traverse(const T &Node) {
  282     static_assert(IsBaseType<T>::value,
  385   bool TraverseType(QualType TypeNode);
  492     } else if (auto *N = Node.get<QualType>()) {
  505   template <typename T> void match(const T &Node) {
  548   void matchWithoutFilter(const T &Node, const MC &Matchers) {
  614   void matchDispatch(const QualType *Node) {
  930 bool MatchASTVisitor::TraverseType(QualType TypeNode) {
 1058   } else if (NodeMatch.canConvertTo<QualType>()) {
 1059     addMatcher(NodeMatch.convertTo<QualType>(), Action);
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  249   auto QualKind = ast_type_traits::ASTNodeKind::getFromNodeKind<QualType>();
  590 const internal::VariadicAllOfMatcher<QualType> qualType;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  361     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  368     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  560       ASTNodeKind::getFromNodeKind<QualType>(),
tools/clang/lib/Analysis/BodyFarm.cpp
   35 static bool isDispatchBlock(QualType Ty) {
   54   BinaryOperator *makeAssignment(const Expr *LHS, const Expr *RHS, QualType Ty);
   68   UnaryOperator *makeDereference(const Expr *Arg, QualType Ty);
   71   Expr *makeIntegralCast(const Expr *Arg, QualType Ty);
   77   ImplicitCastExpr *makeLvalueToRvalue(const Expr *Arg, QualType Ty);
   86   ImplicitCastExpr *makeImplicitCast(const Expr *Arg, QualType Ty,
   99   IntegerLiteral *makeIntegerLiteral(uint64_t Value, QualType Ty);
  116                                          QualType Ty) {
  141   QualType Type = D->getType().getNonReferenceType();
  149 UnaryOperator *ASTMaker::makeDereference(const Expr *Arg, QualType Ty) {
  155 ImplicitCastExpr *ASTMaker::makeLvalueToRvalue(const Expr *Arg, QualType Ty) {
  162   QualType Type = Arg->getType().getNonReferenceType();
  168 ImplicitCastExpr *ASTMaker::makeImplicitCast(const Expr *Arg, QualType Ty,
  177 Expr *ASTMaker::makeIntegralCast(const Expr *Arg, QualType Ty) {
  191   QualType Ty = C.getBOOLDecl() ? C.getBOOLType() : C.ObjCBuiltinBoolTy;
  208 IntegerLiteral *ASTMaker::makeIntegerLiteral(uint64_t Value, QualType Ty) {
  253   QualType Ty = Callback->getType();
  338   QualType CallbackType = Callback->getType().getNonReferenceType();
  342   QualType FlagType = Flag->getType().getNonReferenceType();
  423       QualType PTy = PDecl->getType().getNonReferenceType();
  447   QualType DerefType = Deref->getType();
  484   QualType PredicateQPtrTy = Predicate->getType();
  488   QualType PredicateTy = PredicatePtrTy->getPointeeType();
  494   QualType Ty = Block->getType();
  567   QualType Ty = PV->getType();
  603   QualType ResultTy = D->getReturnType();
  609   QualType OldValueTy = OldValue->getType();
  612   QualType NewValueTy = NewValue->getType();
  617   QualType TheValueTy = TheValue->getType();
  621   QualType PointeeTy = PT->getPointeeType();
tools/clang/lib/Analysis/CFG.cpp
 1682 static QualType getReferenceInitTemporaryType(const Expr *Init,
 1859     QualType Ty = (*I)->getType();
 1910     QualType QT = FI->getType();
 1976   QualType QT = VD->getType();
 2550   QualType Ty = E->getType();
 2566   QualType calleeType = C->getCallee()->getType();
 2568     QualType boundType = Expr::findBoundMemberType(C->getCallee());
 4523   QualType DTy = DE->getDestroyedType();
 4964       QualType ty = var->getType();
 4990       QualType DTy = DE->getDestroyedType();
 5479     QualType T = VD->getType();
tools/clang/lib/Analysis/CloneDetection.cpp
  186   template <class Ty> void addData(const Ty &Data) {
tools/clang/lib/Analysis/CocoaConventions.cpp
   24 bool cocoa::isRefType(QualType RetTy, StringRef Prefix,
   51 static bool isDiskArbitrationAPIRefType(QualType T) {
   57 bool coreFoundation::isCFObjectRef(QualType T) {
   65 bool cocoa::isCocoaObjectRef(QualType Ty) {
tools/clang/lib/Analysis/Consumed.cpp
  143 static bool isConsumableType(const QualType &QT) {
  153 static bool isAutoCastType(const QualType &QT) {
  163 static bool isSetOnReadPtrType(const QualType &QT) {
  181 static bool isRValueRef(QualType ParamType) {
  189 static bool isPointerOrRef(QualType ParamType) {
  193 static ConsumedState mapConsumableAttrState(const QualType QT) {
  624     QualType ParamType = Param->getType();
  686   QualType RetType = Fun->getCallResultType();
  774   QualType ThisType = Constructor->getThisType()->getPointeeType();
  858   QualType ParamType = Param->getType();
 1200   QualType ReturnType;
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp
  407     QualType ParmType =
tools/clang/lib/Analysis/LiveVariables.cpp
  223 static const VariableArrayType *FindVA(QualType Ty) {
tools/clang/lib/Analysis/ProgramPoint.cpp
  125       QualType Ty = Init->getTypeSourceInfo()->getType();
tools/clang/lib/Analysis/RetainSummaryManager.cpp
   69                                                             QualType QT) {
  110                                                             QualType QT) {
  164 static bool isOSObjectPtr(QualType QT) {
  168 static bool isISLObjectRef(QualType Ty) {
  208     QualType PT = Param->getType()->getPointeeType();
  219 RetainSummaryManager::isKnownSmartPointer(QualType QT) {
  234                                             StringRef FName, QualType RetTy) {
  286     QualType RetTy,
  508   QualType RetTy = FT->getReturnType();
  632     QualType QT = (*pi)->getType();
  660                                  QualType ReceiverType) {
  723   QualType ResultTy = CE->getCallReturnType(Ctx);
  859 RetainSummaryManager::getRetEffectFromAnnotations(QualType RetTy,
  884 static bool hasTypedefNamed(QualType QT,
  895 static QualType getCallableReturnType(const NamedDecl *ND) {
  908   QualType QT = pd->getType();
  922       QualType QT = getCallableReturnType(FD);
  983   QualType RetTy = FD->getReturnType();
 1010   QualType RetTy = MD->getReturnType();
 1017                                                Selector S, QualType RetTy) {
 1123     QualType ReceiverType) {
 1152                                        const ObjCMethodDecl *MD, QualType RetTy,
 1278   QualType ResultTy = MD->getReturnType();
tools/clang/lib/Analysis/ThreadSafety.cpp
  615       QualType T = VD->getType();
 1226 static StringRef ClassifyDiagnostic(QualType VDT) {
 2026     QualType Qt = (*Param)->getType();
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  621       QualType T = VD->getType();
  830     QualType T = Pm->getType();
tools/clang/lib/Analysis/UninitializedValues.cpp
   47     QualType ty = vd->getType();
  464 static bool isPointerToConst(const QualType &QT) {
tools/clang/lib/CodeGen/ABIInfo.h
   87                                        QualType Ty) const = 0;
   95                                          QualType Ty) const;
   97     virtual bool isHomogeneousAggregateBaseType(QualType Ty) const;
  102     bool isHomogeneousAggregate(QualType Ty, const Type *&Base,
  108     getNaturalAlignIndirect(QualType Ty, bool ByRef = true,
  113     getNaturalAlignIndirectInReg(QualType Ty, bool Realign = false) const;
tools/clang/lib/CodeGen/CGAtomic.cpp
   32     QualType AtomicTy;
   33     QualType ValueTy;
  132     QualType getAtomicType() const { return AtomicTy; }
  133     QualType getValueType() const { return ValueTy; }
  304                                 QualType resultType,
  723                   bool UseOptimizedLibcall, llvm::Value *Val, QualType ValTy,
  747   QualType AtomicTy = E->getPtr()->getType()->getPointeeType();
  748   QualType MemTy = AtomicTy;
  832       QualType Val1Ty = E->getVal1()->getType();
  875   QualType RValTy = E->getType().getUnqualifiedType();
  989     QualType LoweredMemTy =
  991     QualType RetTy;
tools/clang/lib/CodeGen/CGBlocks.cpp
  345     QualType FieldType;
  350                      llvm::Type *type, QualType fieldType)
  387 static bool isSafeForCXXConstantCapture(QualType type) {
  419   QualType type = var->getType();
  502 static QualType getCaptureFieldType(const CodeGenFunction &CGF,
  554     QualType thisType = cast<CXXMethodDecl>(CGF->CurFuncDecl)->getThisType();
  597     QualType VT = getCaptureFieldType(*CGF, CI);
  635     } else if (VT.isNonTrivialToPrimitiveCopy() == QualType::PCK_Struct ||
  636                VT.isDestructedType() == QualType::DK_nontrivial_c_struct) {
  816     QualType VT = getCaptureFieldType(CGF, CI);
  817     QualType::DestructionKind dtorKind = VT.isDestructedType();
  818     if (dtorKind == QualType::DK_none) continue;
  834     } else if (dtorKind == QualType::DK_objc_strong_lifetime) {
 1045     QualType type = capture.fieldType();
 1260   QualType FnType = BPT->getPointeeType();
 1271     QualType VoidPtrQualTy = Ctx.getPointerType(
 1544   QualType selfTy = getContext().VoidPtrTy;
 1690 computeCopyInfoForBlockCapture(const BlockDecl::Capture &CI, QualType T,
 1711   case QualType::PCK_Struct:
 1714   case QualType::PCK_ARCWeak:
 1717   case QualType::PCK_ARCStrong:
 1725   case QualType::PCK_Trivial:
 1726   case QualType::PCK_VolatileTrivial: {
 1747 computeDestroyInfoForBlockCapture(const BlockDecl::Capture &CI, QualType T,
 1760     QualType VT = Capture.fieldType();
 1801 bool CodeGenFunction::cxxDestructorCanThrow(QualType T) {
 1816   QualType CaptureTy = CI.getVariable()->getType();
 1929                                Address Field, QualType CaptureType,
 2004   QualType ReturnTy = C.VoidTy;
 2027   SmallVector<QualType, 2> ArgTys;
 2030   QualType FunctionTy = C.getFunctionType(ReturnTy, ArgTys, {});
 2053     QualType captureType = CI.getVariable()->getType();
 2072       QualType varType = CI.getVariable()->getType();
 2134                                        QualType T) {
 2142 computeDestroyInfoForBlockCapture(const BlockDecl::Capture &CI, QualType T,
 2152   case QualType::DK_cxx_destructor:
 2154   case QualType::DK_objc_strong_lifetime:
 2159   case QualType::DK_objc_weak_lifetime:
 2163   case QualType::DK_nontrivial_c_struct:
 2166   case QualType::DK_none: {
 2199   QualType ReturnTy = C.VoidTy;
 2220   SmallVector<QualType, 1> ArgTys;
 2222   QualType FunctionTy = C.getFunctionType(ReturnTy, ArgTys, {});
 2386   QualType VarType;
 2390   CXXByrefHelpers(CharUnits alignment, QualType type,
 2415   QualType VarType;
 2418   NonTrivialCStructByrefHelpers(CharUnits alignment, QualType type)
 2448   QualType ReturnTy = Context.VoidTy;
 2471   SmallVector<QualType, 2> ArgTys;
 2474   QualType FunctionTy = Context.getFunctionType(ReturnTy, ArgTys, {});
 2525   QualType R = Context.VoidTy;
 2547   SmallVector<QualType, 1> ArgTys;
 2549   QualType FunctionTy = Context.getFunctionType(R, ArgTys, {});
 2613   QualType type = var.getType();
 2633   if (type.isNonTrivialToPrimitiveDestructiveMove() == QualType::PCK_Struct ||
 2634       type.isDestructedType() == QualType::DK_nontrivial_c_struct)
 2739   QualType Ty = D->getType();
 2841   QualType type = D.getType();
tools/clang/lib/CodeGen/CGBlocks.h
  168     QualType FieldType;
  196     QualType fieldType() const {
  201                              QualType FieldType) {
tools/clang/lib/CodeGen/CGBuiltin.cpp
   94                         QualType T, llvm::IntegerType *IntType) {
  105                           QualType T, llvm::Type *ResultType) {
  120   QualType T = E->getType();
  181   QualType T = E->getType();
  227   QualType T = ReturnBool ? E->getArg(1)->getType() : E->getType();
  324   QualType ElTy = E->getArg(0)->getType()->getPointeeType();
  338   QualType ElTy = E->getArg(0)->getType()->getPointeeType();
  495                              const clang::QualType Type) {
 1114   QualType UnsignedTy = C.getIntTypeForBitwidth(Size * 8, /*Signed=*/false);
 1138   llvm::SmallVector<QualType, 4> ArgTys;
 1150     QualType ArgTy = getOSLogArgType(Ctx, Size);
 1158   QualType ReturnTy = Ctx.VoidTy;
 1159   QualType FuncionTy = Ctx.getFunctionType(ReturnTy, ArgTys, {});
 1312                              const clang::Expr *ResultArg, QualType ResultQTy,
 1396 static llvm::Value *dumpRecord(CodeGenFunction &CGF, QualType RType,
 1407   static llvm::DenseMap<QualType, const char *> Types;
 1448     QualType CanonicalType =
 1481 TypeRequiresBuiltinLaunderImp(const ASTContext &Ctx, QualType Ty,
 1509 static bool TypeRequiresBuiltinLaunder(CodeGenModule &CGM, QualType Ty) {
 1856     QualType Arg0Type = Arg0->getType()->getPointeeType();
 2105     QualType ArgType = Arg->getType();
 2692     QualType ArgTy = Arg->getType()->getPointeeType();
 2841     QualType ElTy = E->getArg(0)->getType()->getPointeeType();
 2895     QualType PtrTy = E->getArg(0)->IgnoreImpCasts()->getType();
 2978     QualType PtrTy = E->getArg(0)->IgnoreImpCasts()->getType();
 3218     clang::QualType ResultQTy =
 3790       QualType SizeArrayTy = getContext().getConstantArrayType(
 4028     auto Arg0Ty = Arg0->getType();
 4066     auto Arg1Ty = Arg1->getType();
 4197     QualType BuiltinRetType = E->getType();
 6186     QualType Ty = E->getType();
 6235     QualType Ty = E->getArg(0)->getType();
 6816     auto MvecCType = E->getType();
 6857     auto MvecCType = E->getArg(1)->getType();
 7177     QualType Ty = E->getType();
 7224     QualType Ty = E->getArg(0)->getType();
12753     QualType BIRetType = E->getType();
12794     QualType BIRetType = E->getType();
tools/clang/lib/CodeGen/CGCUDANV.cpp
  293   QualType Dim3Ty = GridDimParam->getType();
  329   QualType QT = cudaLaunchKernelFD->getType();
  330   QualType CQT = QT.getCanonicalType();
tools/clang/lib/CodeGen/CGCXX.cpp
  282   QualType T = QualType(QTy, 0);
tools/clang/lib/CodeGen/CGCXXABI.cpp
   31 llvm::Constant *CGCXXABI::GetBogusMemberPointer(QualType T) {
  112 llvm::Constant *CGCXXABI::EmitMemberPointer(const APValue &MP, QualType MPT) {
  157                                    RValue RV, QualType ResultType) {
  167 CharUnits CGCXXABI::getArrayCookieSizeImpl(QualType elementType) {
  176                                         QualType ElementType) {
  183                                    QualType elementType) {
  202                                const CXXDeleteExpr *expr, QualType eltTy,
  237   QualType derivedType;
tools/clang/lib/CodeGen/CGCXXABI.h
   66   llvm::Constant *GetBogusMemberPointer(QualType T);
   82   virtual bool requiresArrayCookie(const CXXDeleteExpr *E, QualType eltType);
  196   virtual llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT);
  229                                        Address Ptr, QualType ElementType,
  233   virtual llvm::GlobalVariable *getThrowInfo(QualType T) { return nullptr; }
  246   virtual llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) = 0;
  248   getAddrOfCXXCatchHandlerType(QualType Ty, QualType CatchHandlerType) = 0;
  248   getAddrOfCXXCatchHandlerType(QualType Ty, QualType CatchHandlerType) = 0;
  252                                          QualType SrcRecordTy) = 0;
  254   virtual llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
  259                                                   QualType SrcRecordTy) = 0;
  263                       QualType SrcRecordTy, QualType DestTy,
  263                       QualType SrcRecordTy, QualType DestTy,
  264                       QualType DestRecordTy, llvm::BasicBlock *CastEnd) = 0;
  268                                              QualType SrcRecordTy,
  269                                              QualType DestTy) = 0;
  356   virtual void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
  381                                   Address This, QualType ThisTy) = 0;
  456                                    RValue RV, QualType ResultType);
  496                                         QualType ElementType);
  513                                QualType ElementType, llvm::Value *&NumElements,
  523   virtual CharUnits getArrayCookieSizeImpl(QualType elementType);
  587                                               QualType LValType) = 0;
tools/clang/lib/CodeGen/CGCall.cpp
   75   QualType RecTy;
   96 static CanQualType GetReturnType(QualType RetTy) {
  471                                               QualType receiverType) {
  501 CodeGenTypes::arrangeUnprototypedObjCMessageSend(QualType returnType,
  639 CodeGenTypes::arrangeBuiltinFunctionCall(QualType resultType,
  652 CodeGenTypes::arrangeBuiltinFunctionDeclaration(QualType resultType,
  862   QualType EltTy;
  865   ConstantArrayExpansion(QualType EltTy, uint64_t NumElts)
  887   QualType EltTy;
  889   ComplexExpansion(QualType EltTy) : TypeExpansion(TEK_Complex), EltTy(EltTy) {}
  904 getTypeExpansion(QualType Ty, const ASTContext &Context) {
  959 static int getExpansionSize(QualType Ty, const ASTContext &Context) {
  979 CodeGenTypes::getExpandedTypes(QualType Ty,
 1017     QualType Ty, LValue LV, SmallVectorImpl<llvm::Value *>::iterator &AI) {
 1056     QualType Ty, CallArg Arg, llvm::FunctionType *IRFuncTy,
 1440     QualType ArgType = I->type;
 1507 bool CodeGenModule::ReturnTypeUsesFPRet(QualType ResultType) {
 1524 bool CodeGenModule::ReturnTypeUsesFP2Ret(QualType ResultType) {
 1561       QualType ret = FI.getReturnType();
 1585     QualType Ret = FI.getReturnType();
 1958   QualType RetTy = FI.getReturnType();
 1990     QualType PTy = RefTy->getPointeeType();
 2025     QualType ParamType = I->type;
 2100       QualType PTy = RefTy->getPointeeType();
 2125       auto PTy = ParamType->getPointeeType();
 2185                                          QualType ArgType, unsigned ArgNo) {
 2235       QualType RetTy = FD->getReturnType().getUnqualifiedType();
 2295     QualType Ty = isPromoted ? info_it->type : Arg->getType();
 2365           QualType OTy = PVD->getOriginalType();
 2373               QualType ETy = ArrTy->getElementType();
 2422           QualType pointeeTy = Ty->getPointeeType();
 2816   QualType RetTy = FI.getReturnType();
 2897       QualType RT;
 3028 static bool isInAllocaArgument(CGCXXABI &ABI, QualType type) {
 3034                                           QualType Ty) {
 3062   QualType type = param->getType();
 3219     QualType srcAddrType =
 3350 void CodeGenFunction::EmitNonNullArgCheck(RValue RV, QualType ArgType,
 3404     CallArgList &Args, ArrayRef<QualType> ArgTypes,
 3444     for (ArrayRef<QualType>::iterator I = ArgTypes.begin(), E = ArgTypes.end();
 3496   DestroyUnpassedArg(Address Addr, QualType Ty)
 3500   QualType Ty;
 3503     QualType::DestructionKind DtorKind = Ty.isDestructedType();
 3504     if (DtorKind == QualType::DK_cxx_destructor) {
 3558                                   QualType type) {
 3626 QualType CodeGenFunction::getVarArgType(const Expr *Arg) {
 3791   QualType RetTy = CallInfo.getReturnType();
 4051           QualType pointeeTy = I->Ty->getPointeeType();
 4607   QualType Ty = VE->getType();
tools/clang/lib/CodeGen/CGCall.h
  230     QualType Ty;
  231     CallArg(RValue rv, QualType ty)
  233     CallArg(LValue lv, QualType ty)
  236     QualType getType() const { return Ty; }
  287     void add(RValue rvalue, QualType type) { push_back(CallArg(rvalue, type)); }
  289     void addUncopiedAggregate(LValue LV, QualType type) {
tools/clang/lib/CodeGen/CGClass.cpp
  139   QualType memberType = memberPtrType->getPointeeType();
  309   QualType DerivedTy = getContext().getRecordType(Derived);
  383   QualType DerivedTy =
  499       QualType ThisTy = D->getThisObjectType();
  618   QualType FieldType = Field->getType();
  621   QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
  642     QualType BaseElementTy = CGF.getContext().getBaseElementType(Array);
  658       QualType::DestructionKind dtorKind = FieldType.isDestructedType();
  670   QualType FieldType = Field->getType();
  701   QualType::DestructionKind dtorKind = FieldType.isDestructedType();
  956       QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
 1050       QualType FieldType = Field->getType();
 1109       QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
 1114         QualType FieldType = MemberInit->getAnyMember()->getType();
 1115         QualType::DestructionKind dtorKind = FieldType.isDestructedType();
 1385   QualType FieldBaseElementType = Context.getBaseElementType(Field->getType());
 1450       QualType ThisTy = Dtor->getThisObjectType();
 1484       QualType ThisTy = Dtor->getThisObjectType();
 1625       QualType RecordTy = CGF.getContext().getTagDeclType(field->getParent());
 1868     QualType type = Field->getType();
 1869     QualType::DestructionKind dtorKind = type.isDestructedType();
 1895   QualType elementType;
 1961   QualType type = getContext().getTypeDeclType(ctor->getParent());
 2019                                        QualType type) {
 2037   QualType ThisType = D->getThisType();
 2060     QualType DestTy = getContext().getTypeDeclType(D->getParent());
 2129     QualType SrcTy = D->getParamDecl(0)->getType().getNonReferenceType();
 2133     QualType DestTy = getContext().getTypeDeclType(ClassDecl);
 2239   QualType RetType = BuildFunctionArgList(CurGD, Params);
 2312   QualType QT = *(FPT->param_type_begin());
 2377       QualType ThisTy = Dtor->getThisObjectType();
 2418                                             QualType ThisTy) {
 2427     QualType Ty;
 2429     CallLocalDtor(const CXXDestructorDecl *D, Address Addr, QualType Ty)
 2441                                             QualType T, Address Addr) {
 2445 void CodeGenFunction::PushDestructorCleanup(QualType T, Address Addr) {
 2668 void CodeGenFunction::EmitVTablePtrCheckForCast(QualType T,
 2848   QualType resultType = FPT->getReturnType();
 2890   QualType ThisType = getContext().getPointerType(getContext().getRecordType(Lambda));
 2909   QualType ThisType = getContext().getPointerType(getContext().getRecordType(Lambda));
tools/clang/lib/CodeGen/CGCleanup.cpp
 1273                                        QualType TempType,
tools/clang/lib/CodeGen/CGCoroutine.cpp
  290 static QualType getCoroutineSuspendExprReturnType(const ASTContext &Ctx,
tools/clang/lib/CodeGen/CGDebugInfo.cpp
   57 static uint32_t getTypeAlignIfRequired(QualType Ty, const ASTContext &Ctx) {
  299       QualType ClassTy =
  830 llvm::DIType *CGDebugInfo::CreateQualifiedType(QualType Ty,
 1002                                                  QualType PointeeTy,
 1036   QualType FType;
 1072   QualType FType;
 1206     for (const QualType &ParamType : FPT->param_types())
 1248   QualType Ty = BitFieldDecl->getType();
 1277 CGDebugInfo::createFieldType(StringRef name, QualType type, SourceLocation loc,
 1332       QualType type = f->getType();
 1377   QualType type = field->getType();
 1398   QualType Ty = CGM.getContext().getTypeDeclType(TD);
 1475     QualType ThisPtr, const FunctionProtoType *Func, llvm::DIFile *Unit) {
 1492     QualType PointeeTy = ThisPtrTy->getPointeeType();
 1768       QualType T = TA.getParamTypeForDecl().getDesugaredType(CGM.getContext());
 1805       QualType T = TA.getNullPtrType();
 1835       QualType T = E->getType();
 2027 llvm::DIType *CGDebugInfo::getOrCreateRecordType(QualType RTy,
 2034 llvm::DIType *CGDebugInfo::getOrCreateInterfaceType(QualType D,
 2039 llvm::DIType *CGDebugInfo::getOrCreateStandaloneType(QualType D,
 2051                                            QualType D,
 2057     QualType PointeeTy = D.getTypePtr()->getPointeeType();
 2067   QualType Ty = CGM.getContext().getEnumType(ED);
 2142   QualType Ty = CGM.getContext().getRecordType(RD);
 2212   QualType Ty = CGM.getContext().getRecordType(RD);
 2464   QualType QTy(Ty, 0);
 2535     QualType FType = Field->getType();
 2614   QualType QTy(Ty, 0);
 2656   QualType EltTy(Ty, 0);
 2848 static QualType UnwrapTypeForDebugInfo(QualType T, const ASTContext &C) {
 2848 static QualType UnwrapTypeForDebugInfo(QualType T, const ASTContext &C) {
 2856     QualType LastT = T;
 2896       QualType DT = cast<DeducedType>(T)->getDeducedType();
 2913 llvm::DIType *CGDebugInfo::getTypeOrNull(QualType Ty) {
 2945 llvm::DIType *CGDebugInfo::getOrCreateType(QualType Ty, llvm::DIFile *Unit) {
 2999 llvm::DIType *CGDebugInfo::CreateTypeNode(QualType Ty, llvm::DIFile *Unit) {
 3085   QualType QTy(Ty, 0);
 3217 llvm::DIType *CGDebugInfo::CreateMemberType(llvm::DIFile *Unit, QualType FType,
 3269                                       unsigned &LineNo, QualType &T,
 3282     QualType ET = CGM.getContext().getAsArrayType(T)->getElementType();
 3338   SmallVector<QualType, 16> ArgTypes;
 3343   QualType FnType = CGM.getContext().getFunctionType(
 3380   QualType T;
 3466                                                              QualType FnType,
 3484     QualType ResultTy = OMethod->getReturnType();
 3493     QualType SelfDeclTy;
 3524         for (QualType ParamType : FPT->param_types())
 3536                                     SourceLocation ScopeLoc, QualType FnType,
 3636       QualType QTy(ID->getTypeForDecl(), 0);
 3659                                    QualType FnType, llvm::Function *Fn) {
 3710                                           QualType CalleeType,
 3837   QualType FType;
 3842   QualType Type = VD->getType();
 4078 llvm::DIType *CGDebugInfo::CreateSelfType(const QualType &QualTy,
 4199     auto FnPtrType = CGM.getContext().getPointerType(FnTy->desugar());
 4275       QualType type;
 4399   QualType T;
 4680       QualType QTy(P.first->getTypeForDecl(), 0);
 4742 void CGDebugInfo::EmitExplicitCastType(QualType Ty) {
tools/clang/lib/CodeGen/CGDebugInfo.h
   90   llvm::SmallDenseMap<QualType, llvm::Metadata *> SizeExprCache;
  156   llvm::DIType *CreateQualifiedType(QualType Ty, llvm::DIFile *Fg);
  194   llvm::DIType *CreateSelfType(const QualType &QualTy, llvm::DIType *Ty);
  199   llvm::DIType *getTypeOrNull(const QualType);
  207   getOrCreateInstanceMethodType(QualType ThisPtr, const FunctionProtoType *Func,
  210   getOrCreateFunctionType(const Decl *D, QualType FnType, llvm::DIFile *F);
  217                                       QualType PointeeTy, llvm::DIFile *F);
  269   llvm::DIType *createFieldType(StringRef name, QualType type,
  275   llvm::DIType *createFieldType(StringRef name, QualType type,
  352   void registerVLASizeExpression(QualType Ty, llvm::Metadata *SizeExpr) {
  402                          SourceLocation ScopeLoc, QualType FnType,
  414                         QualType FnType, llvm::Function *Fn = nullptr);
  419                                QualType CalleeType,
  473   void EmitExplicitCastType(QualType Ty);
  485   llvm::DIType *getOrCreateRecordType(QualType Ty, SourceLocation L);
  488   llvm::DIType *getOrCreateInterfaceType(QualType Ty, SourceLocation Loc);
  491   llvm::DIType *getOrCreateStandaloneType(QualType Ty, SourceLocation Loc);
  494   void addHeapAllocSiteMetadata(llvm::Instruction *CallSite, QualType Ty,
  573   llvm::DIType *getOrCreateType(QualType Ty, llvm::DIFile *Fg);
  590   llvm::DIType *CreateTypeNode(QualType Ty, llvm::DIFile *Fg);
  593   llvm::DIType *CreateMemberType(llvm::DIFile *Unit, QualType FType,
  691                            unsigned &LineNo, QualType &T, StringRef &Name,
tools/clang/lib/CodeGen/CGDecl.cpp
  153     QualType Ty = TD.getUnderlyingType();
  227   QualType Ty = D.getType();
  455     DestroyObject(Address addr, QualType type,
  462     QualType type;
  477     DestroyNRVOVariable(Address addr, QualType type, llvm::Value *NRVOFlag)
  482     QualType Ty;
  509     DestroyNRVOVariableCXX(Address addr, QualType type,
  525     DestroyNRVOVariableC(Address addr, llvm::Value *NRVOFlag, QualType Ty)
  580       QualType ArgTy = FnInfo.arg_begin()->type;
 1320   QualType Type1D = D.getType();
 1356       auto QT = getContext().getIntTypeForBitwidth(
 1376   QualType Ty = D.getType();
 1661 void CodeGenFunction::emitZeroOrPatternForAutoVarInit(QualType type,
 1750   QualType type = D.getType();
 1771           QualType::PDIK_Struct) {
 1869   QualType type = D->getType();
 1913                             QualType::DestructionKind dtorKind) {
 1921   QualType type = var->getType();
 1927   case QualType::DK_none:
 1930   case QualType::DK_cxx_destructor:
 1942   case QualType::DK_objc_strong_lifetime:
 1954   case QualType::DK_objc_weak_lifetime:
 1957   case QualType::DK_nontrivial_c_struct:
 1991   if (QualType::DestructionKind dtorKind = D.needsDestruction(getContext()))
 2026 CodeGenFunction::getDestroyer(QualType::DestructionKind kind) {
 2028   case QualType::DK_none: llvm_unreachable("no destroyer for trivial dtor");
 2029   case QualType::DK_cxx_destructor:
 2031   case QualType::DK_objc_strong_lifetime:
 2033   case QualType::DK_objc_weak_lifetime:
 2035   case QualType::DK_nontrivial_c_struct:
 2043 void CodeGenFunction::pushEHDestroy(QualType::DestructionKind dtorKind,
 2044                                     Address addr, QualType type) {
 2053 void CodeGenFunction::pushDestroy(QualType::DestructionKind dtorKind,
 2054                                   Address addr, QualType type) {
 2063                                   QualType type, Destroyer *destroyer,
 2074     CleanupKind cleanupKind, Address addr, QualType type,
 2101 void CodeGenFunction::emitDestroy(Address addr, QualType type,
 2142                                        QualType elementType,
 2195                                     QualType type, CharUnits elementAlign,
 2228     QualType ElementType;
 2233                                QualType elementType, CharUnits elementAlign,
 2251     QualType ElementType;
 2257                                  QualType elementType,
 2280                                                        QualType elementType,
 2297                                                      QualType elementType,
 2353   QualType Ty = D.getType();
 2401       if (QualType::DestructionKind DtorKind =
tools/clang/lib/CodeGen/CGDeclCXX.cpp
   36   QualType type = D.getType();
   76   QualType::DestructionKind DtorKind = D.needsDestruction(CGF.getContext());
   81   case QualType::DK_none:
   84   case QualType::DK_cxx_destructor:
   87   case QualType::DK_objc_strong_lifetime:
   88   case QualType::DK_objc_weak_lifetime:
   89   case QualType::DK_nontrivial_c_struct:
   99   QualType Type = D.getType();
  177   QualType T = D.getType();
  758     Address addr, QualType type, Destroyer *destroyer,
tools/clang/lib/CodeGen/CGException.cpp
  426     QualType ThrowType = SubExpr->getType();
  474       QualType Ty = Proto->getExceptionType(I);
  475       QualType ExceptType = Ty.getNonReferenceType().getUnqualifiedType();
  574       QualType CaughtType = CGM.getContext().getUnqualifiedArrayType(
 1626     QualType ArgTys[2] = {Context.UnsignedCharTy, Context.VoidPtrTy};
 1872   QualType RetTy = IsFilter ? getContext().LongTy : getContext().VoidTy;
tools/clang/lib/CodeGen/CGExpr.cpp
  134 Address CodeGenFunction::CreateIRTemp(QualType Ty, const Twine &Name) {
  139 Address CodeGenFunction::CreateMemTemp(QualType Ty, const Twine &Name,
  145 Address CodeGenFunction::CreateMemTemp(QualType Ty, CharUnits Align,
  151 Address CodeGenFunction::CreateMemTempWithoutCast(QualType Ty, CharUnits Align,
  156 Address CodeGenFunction::CreateMemTempWithoutCast(QualType Ty,
  171   QualType BoolTy = getContext().BoolTy;
  382     QualType Ty = Inner->getType();
  605     QualType Ty = E->getType();
  638 bool CodeGenFunction::isVptrCheckRequired(TypeCheckKind TCK, QualType Ty) {
  654                                     llvm::Value *Ptr, QualType Ty,
  887                                                    QualType EltTy) {
  928     CodeGenFunction &CGF, const Expr *Base, QualType &IndexedType) {
  950   QualType EltTy{Base->getType()->getPointeeOrArrayElementType(), 0};
  960                                       llvm::Value *Index, QualType IndexType,
  966   QualType IndexedType;
 1000     QualType ElemTy = E->getType()->castAs<ComplexType>()->getElementType();
 1144 RValue CodeGenFunction::GetUndefRValue(QualType Ty) {
 1258     QualType Ty = E->getType();
 1383 static bool isConstantEmittableObjectType(QualType type) {
 1414 static ConstantEmissionKind checkVarTypeForConstantEmission(QualType type) {
 1451   QualType resultType;
 1531 static bool hasBooleanRepresentation(QualType Ty) {
 1544 static bool getRangeForType(CodeGenFunction &CGF, QualType Ty,
 1577 llvm::MDNode *CodeGenFunction::getRangeForLoadFromType(QualType Ty) {
 1587 bool CodeGenFunction::EmitScalarRangeCheck(llvm::Value *Value, QualType Ty,
 1635                                                QualType Ty,
 1691 llvm::Value *CodeGenFunction::EmitToMemory(llvm::Value *Value, QualType Ty) {
 1705 llvm::Value *CodeGenFunction::EmitFromMemory(llvm::Value *Value, QualType Ty) {
 1717                                         bool Volatile, QualType Ty,
 1884   QualType EQT = ExprVT->getElementType();
 2194     QualType ExpTy = E->getType();
 2233       QualType ExpTy = E->getType();
 2293     CodeGenFunction &CGF, const VarDecl *VD, QualType T, Address Addr,
 2301                                            const VarDecl *VD, QualType T) {
 2314   QualType PtrTy = CGF.getContext().getPointerType(VD->getType());
 2362   QualType T = E->getType();
 2410       QualType NoProtoType =
 2430   QualType TagType = CGF.getContext().getTagDeclType(FD->getParent());
 2516   QualType T = E->getType();
 2683   QualType ExprTy = getContext().getCanonicalType(E->getSubExpr()->getType());
 2687     QualType T = E->getSubExpr()->getType()->getPointeeType();
 2720     QualType T = ExprTy->castAs<ComplexType>()->getElementType();
 2791 llvm::Constant *CodeGenFunction::EmitCheckTypeDescriptor(QualType T) {
 3342   QualType EltType = E->getType()->castAsArrayTypeUnsafe()->getElementType();
 3396 static QualType getFixedSizeElementType(const ASTContext &ctx,
 3398   QualType eltType;
 3407                                      QualType eltType, bool inbounds,
 3409                                      QualType *arrayType = nullptr,
 3463     QualType IdxTy = E->getIdx()->getType();
 3498     QualType EltType = LV.getType()->castAs<VectorType>()->getElementType();
 3580     QualType arrayType = Array->getType();
 3591     QualType ptrType = E->getBase()->getType();
 3610                                        QualType BaseTy, QualType ElTy,
 3610                                        QualType BaseTy, QualType ElTy,
 3648   QualType BaseTy = OMPArraySectionExpr::getBaseOriginalType(E->getBase());
 3649   QualType ResultExprTy;
 3714       QualType ArrayTy = BaseTy->isPointerType()
 3832   QualType type =
 3870     QualType PtrTy = BaseExpr->getType()->getPointeeType();
 3901   QualType LambdaTagType =
 3966 static bool hasAnyVptr(const QualType Type, const ASTContext &Context) {
 4014     QualType fieldType =
 4025   QualType FieldType = field->getType();
 4141   QualType FieldType = Field->getType();
 4430     QualType DestTy = getContext().getPointerType(E->getType());
 4487   QualType FT = FD->getType();
 4587   QualType functionType;
 4733 LValue CodeGenFunction::EmitLValueForIvar(QualType ObjectTy,
 4746   QualType ObjectTy;
 4772 RValue CodeGenFunction::EmitCall(QualType CalleeType, const CGCallee &OrigCallee,
 4785   auto PointeeType = cast<PointerType>(CalleeType)->getPointeeType();
 4796       auto ProtoTy =
 4983                                             QualType type,
tools/clang/lib/CodeGen/CGExprAgg.cpp
   41   AggValueSlot EnsureSlot(QualType T) {
   45   void EnsureDest(QualType T) {
   80   void EmitFinalDestCopy(QualType type, const LValue &src,
   82   void EmitFinalDestCopy(QualType type, RValue src);
   83   void EmitCopy(QualType type, const AggValueSlot &dest,
   89                      QualType ArrayQTy, InitListExpr *E);
   91   AggValueSlot::NeedsGCBarriers_t needsGC(QualType T) {
   97   bool TypeRequiresGCollection(QualType T);
  231 bool AggExprEmitter::TypeRequiresGCollection(QualType T) {
  249   QualType RetTy = E->getType();
  252       RetTy.isDestructedType() == QualType::DK_nontrivial_c_struct;
  310 void AggExprEmitter::EmitFinalDestCopy(QualType type, RValue src) {
  317 void AggExprEmitter::EmitFinalDestCopy(QualType type, const LValue &src,
  331     if (type.isNonTrivialToPrimitiveDestructiveMove() == QualType::PCK_Struct) {
  339     if (type.isNonTrivialToPrimitiveCopy() == QualType::PCK_Struct) {
  359 void AggExprEmitter::EmitCopy(QualType type, const AggValueSlot &dest,
  470                                    QualType ArrayQTy, InitListExpr *E) {
  476   QualType elementType =
  516   QualType::DestructionKind dtorKind = elementType.isDestructedType();
  535     dtorKind = QualType::DK_none;
  709     QualType Ty = E->getSubExpr()->getType();
  748     QualType atomicType = E->getSubExpr()->getType();
  749     QualType valueType = E->getType();
  925   QualType ArgTy = E->getLHS()->getType();
  982   QualType ArgTy = E->getLHS()->getType();
 1313     if (QualType::DestructionKind DtorKind =
 1347   QualType T = E->getType();
 1353   QualType T = E->getType();
 1390   QualType type = LV.getType();
 1430   QualType type = lv.getType();
 1529       if (QualType::DestructionKind dtorKind =
 1605     if (QualType::DestructionKind dtorKind
 1660   QualType elementType =
 1677   QualType::DestructionKind dtorKind = elementType.isDestructedType();
 1687     dtorKind = QualType::DK_none;
 1914 void CodeGenFunction::EmitAggregateCopy(LValue Dest, LValue Src, QualType Ty,
 1963       QualType BaseEltTy;
 2003     QualType BaseType = getContext().getBaseElementType(Ty);
tools/clang/lib/CodeGen/CGExprCXX.cpp
   38                                   QualType ImplicitParamTy, const CallExpr *CE,
   81     llvm::Value *This, llvm::Value *ImplicitParam, QualType ImplicitParamTy,
   94     GlobalDecl Dtor, const CGCallee &Callee, llvm::Value *This, QualType ThisTy,
   95     llvm::Value *ImplicitParam, QualType ImplicitParamTy, const CallExpr *CE) {
  105     QualType DstTy = DtorDecl->getThisType();
  120   QualType DestroyedType = E->getDestroyedType();
  137       QualType BaseTy = BaseExpr->getType();
  170   QualType T = E->getType();
  363       QualType ThisTy =
  447   QualType ThisType =
  678   QualType type = e->getAllocatedType();
  936                                     QualType AllocType, Address NewPtr,
  964     const CXXNewExpr *E, QualType ElementType, llvm::Type *ElementTy,
  978   QualType::DestructionKind DtorKind = ElementType.isDestructedType();
 1055     QualType AllocType = E->getAllocatedType();
 1271                                QualType ElementType, llvm::Type *ElementTy,
 1381       QualType ArgType;
 1409     void setPlacementArg(unsigned I, RValueTy Arg, QualType Type) {
 1536   QualType allocType = getContext().getBaseElementType(E->getAllocatedType());
 1591     QualType sizeType = getContext().getSizeType();
 1602       QualType AlignValT = sizeType;
 1752                                      llvm::Value *Ptr, QualType DeleteTy,
 1767   QualType ArgTy = *ParamTypeIt++;
 1773     QualType DDTag = *ParamTypeIt++;
 1781     QualType SizeType = *ParamTypeIt++;
 1800     QualType AlignValType = *ParamTypeIt++;
 1820     QualType ElementType;
 1824                      QualType ElementType)
 1836                                              QualType ElementType) {
 1847                                        QualType ElementType) {
 1860                              QualType ElementType) {
 1951     QualType ElementType;
 1957                     QualType ElementType,
 1973                             QualType elementType) {
 1990   if (QualType::DestructionKind dtorKind = elementType.isDestructedType()) {
 2027   QualType DeleteTy = E->getDestroyedType();
 2108   QualType SrcRecordTy = E->getType();
 2162   QualType OperandTy = E->getExprOperand()->getType();
 2168                                           QualType DestTy) {
 2185   QualType DestTy = DCE->getTypeAsWritten();
 2187   QualType SrcTy = DCE->getSubExpr()->getType();
 2195   QualType SrcRecordTy;
 2196   QualType DestRecordTy;
tools/clang/lib/CodeGen/CGExprComplex.cpp
   32 static const ComplexType *getComplexType(QualType type) {
   83   ComplexPairTy EmitComplexToComplexCast(ComplexPairTy Val, QualType SrcType,
   84                                          QualType DestType, SourceLocation Loc);
   86   ComplexPairTy EmitScalarToComplexCast(llvm::Value *Val, QualType SrcType,
   87                                         QualType DestType, SourceLocation Loc);
  171   ComplexPairTy EmitCast(CastKind CK, Expr *Op, QualType DestTy);
  234     QualType Elem = E->getType()->castAs<ComplexType>()->getElementType();
  240     QualType Elem = E->getType()->castAs<ComplexType>()->getElementType();
  249     QualType Ty;  // Computation Type.
  334                                                  QualType complexType) {
  339                                                  QualType complexType) {
  423                                                            QualType SrcType,
  424                                                            QualType DestType,
  439                                                           QualType SrcType,
  440                                                           QualType DestType,
  451                                            QualType DestTy) {
  636   SmallVector<QualType, 4> ArgsQTys(
  638   QualType FQTy = CGF.getContext().getFunctionType(Op.Ty, ArgsQTys, EPI);
  891   QualType LHSTy = E->getLHS()->getType();
  901   QualType ComplexElementTy = cast<ComplexType>(OpInfo.Ty)->getElementType();
 1078   QualType Ty = E->getType()->castAs<ComplexType>()->getElementType();
tools/clang/lib/CodeGen/CGExprConstant.cpp
  544                                      InitListExpr *ILE, QualType StructTy);
  546                                      const APValue &Value, QualType ValTy);
  569   llvm::Constant *Finalize(QualType Ty);
  612                                       CharUnits Offset, QualType Type,
  620   QualType ElemType = CAT->getElementType();
  841 llvm::Constant *ConstStructBuilder::Finalize(QualType Type) {
  849                                                 QualType ValTy) {
  861                                                 QualType ValTy) {
  984   public StmtVisitor<ConstExprEmitter, llvm::Constant*, QualType> {
  997   llvm::Constant *VisitStmt(Stmt *S, QualType T) {
 1001   llvm::Constant *VisitConstantExpr(ConstantExpr *CE, QualType T) {
 1005   llvm::Constant *VisitParenExpr(ParenExpr *PE, QualType T) {
 1011                                     QualType T) {
 1016                                             QualType T) {
 1020   llvm::Constant *VisitChooseExpr(ChooseExpr *CE, QualType T) {
 1024   llvm::Constant *VisitCompoundLiteralExpr(CompoundLiteralExpr *E, QualType T) {
 1028   llvm::Constant *VisitCastExpr(CastExpr *E, QualType destType) {
 1162   llvm::Constant *VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE, QualType T) {
 1168   llvm::Constant *VisitExprWithCleanups(ExprWithCleanups *E, QualType T) {
 1175                                                 QualType T) {
 1179   llvm::Constant *EmitArrayInitialization(InitListExpr *ILE, QualType T) {
 1189     QualType EltType = CAT->getElementType();
 1225   llvm::Constant *EmitRecordInitialization(InitListExpr *ILE, QualType T) {
 1230                                              QualType T) {
 1234   llvm::Constant *VisitInitListExpr(InitListExpr *ILE, QualType T) {
 1248                                                 QualType destType) {
 1267   llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E, QualType Ty) {
 1299   llvm::Constant *VisitStringLiteral(StringLiteral *E, QualType T) {
 1304   llvm::Constant *VisitObjCEncodeExpr(ObjCEncodeExpr *E, QualType T) {
 1318   llvm::Constant *VisitUnaryExtension(const UnaryOperator *E, QualType T) {
 1323   llvm::Type *ConvertType(QualType T) {
 1350 ConstantEmitter::tryEmitAbstract(const Expr *E, QualType destType) {
 1357 ConstantEmitter::tryEmitAbstract(const APValue &value, QualType destType) {
 1364 ConstantEmitter::emitAbstract(const Expr *E, QualType destType) {
 1378                               QualType destType) {
 1397                                                        QualType destType) {
 1404                                                     QualType destType) {
 1588 static QualType getNonMemoryType(CodeGenModule &CGM, QualType type) {
 1588 static QualType getNonMemoryType(CodeGenModule &CGM, QualType type) {
 1601     QualType Ty = CGM.getContext().getBaseElementType(D.getType());
 1612   QualType destType = D.getType();
 1632   auto nonMemoryDestType = getNonMemoryType(CGM, destType);
 1639 ConstantEmitter::tryEmitAbstractForMemory(const Expr *E, QualType destType) {
 1640   auto nonMemoryDestType = getNonMemoryType(CGM, destType);
 1647                                           QualType destType) {
 1648   auto nonMemoryDestType = getNonMemoryType(CGM, destType);
 1654                                                          QualType destType) {
 1655   auto nonMemoryDestType = getNonMemoryType(CGM, destType);
 1661                                                          QualType destType) {
 1662   auto nonMemoryDestType = getNonMemoryType(CGM, destType);
 1669                                                QualType destType) {
 1672     QualType destValueType = AT->getValueType();
 1699                                                 QualType destType) {
 1718 llvm::Constant *CodeGenModule::getNullPointer(llvm::PointerType *T, QualType QT) {
 1743   QualType DestType;
 1750                         QualType destType)
 1925                                                     QualType T,
 1987   QualType T;
 2012                                                 QualType DestType) {
 2290                                                    QualType T) {
 2294 llvm::Constant *CodeGenModule::EmitNullConstant(QualType T) {
 2306     QualType ElementTy = CAT->getElementType();
tools/clang/lib/CodeGen/CGExprScalar.cpp
   89   QualType Ty;  // Computation Type.
  137       QualType LHSType = BinOp->getLHS()->getType();
  138       QualType RHSType = BinOp->getRHS()->getType();
  153 static llvm::Optional<QualType> getUnwidenedIntegerType(const ASTContext &Ctx,
  159   QualType BaseTy = Base->getType();
  197   QualType LHSTy = *OptionalLHSTy;
  198   QualType RHSTy = *OptionalRHSTy;
  252   llvm::Type *ConvertType(QualType T) { return CGF.ConvertType(T); }
  313   Value *EmitConversionToBool(Value *Src, QualType DstTy);
  317   void EmitFloatConversionCheck(Value *OrigSrc, QualType OrigSrcType,
  318                                 Value *Src, QualType SrcType, QualType DstType,
  318                                 Value *Src, QualType SrcType, QualType DstType,
  333   void EmitIntegerTruncationCheck(Value *Src, QualType SrcType, Value *Dst,
  334                                   QualType DstType, SourceLocation Loc);
  339   void EmitIntegerSignChangeCheck(Value *Src, QualType SrcType, Value *Dst,
  340                                   QualType DstType, SourceLocation Loc);
  362   EmitScalarConversion(Value *Src, QualType SrcTy, QualType DstTy,
  362   EmitScalarConversion(Value *Src, QualType SrcTy, QualType DstTy,
  368   Value *EmitFixedPointConversion(Value *Src, QualType SrcTy, QualType DstTy,
  368   Value *EmitFixedPointConversion(Value *Src, QualType SrcTy, QualType DstTy,
  378                                        QualType SrcTy, QualType DstTy,
  378                                        QualType SrcTy, QualType DstTy,
  382   Value *EmitNullValue(QualType Ty);
  392   Value *EmitPointerToBoolConversion(Value *V, QualType QT) {
  852 Value *ScalarExprEmitter::EmitConversionToBool(Value *Src, QualType SrcType) {
  872     Value *OrigSrc, QualType OrigSrcType, Value *Src, QualType SrcType,
  872     Value *OrigSrc, QualType OrigSrcType, Value *Src, QualType SrcType,
  873     QualType DstType, llvm::Type *DstTy, SourceLocation Loc) {
  943 EmitIntegerTruncationCheckHelper(Value *Src, QualType SrcType, Value *Dst,
  944                                  QualType DstType, CGBuilderTy &Builder) {
  979 void ScalarExprEmitter::EmitIntegerTruncationCheck(Value *Src, QualType SrcType,
  980                                                    Value *Dst, QualType DstType,
 1031 EmitIntegerSignChangeCheckHelper(Value *Src, QualType SrcType, Value *Dst,
 1032                                  QualType DstType, CGBuilderTy &Builder) {
 1087 void ScalarExprEmitter::EmitIntegerSignChangeCheck(Value *Src, QualType SrcType,
 1088                                                    Value *Dst, QualType DstType,
 1170 Value *ScalarExprEmitter::EmitScalarConversion(Value *Src, QualType SrcType,
 1171                                                QualType DstType,
 1203   QualType NoncanonicalSrcType = SrcType;
 1204   QualType NoncanonicalDstType = DstType;
 1213   QualType OrigSrcType = SrcType;
 1408 Value *ScalarExprEmitter::EmitFixedPointConversion(Value *Src, QualType SrcTy,
 1409                                                    QualType DstTy,
 1504     CodeGenFunction::ComplexPairTy Src, QualType SrcTy, QualType DstTy,
 1504     CodeGenFunction::ComplexPairTy Src, QualType SrcTy, QualType DstTy,
 1524 Value *ScalarExprEmitter::EmitNullValue(QualType Ty) {
 1646   QualType SrcType = E->getSrcExpr()->getType(),
 1667   QualType SrcEltType = SrcType->castAs<VectorType>()->getElementType(),
 1749   QualType IdxTy = E->getIdx()->getType();
 1958   QualType DestTy = CE->getType();
 2012       const QualType SrcType = E->getType();
 2185       const QualType SrcType = E->getType();
 2353   QualType type = E->getSubExpr()->getType();
 2437     QualType type = ptr->getPointeeType();
 2647   QualType CurrentType = E->getTypeSourceInfo()->getType();
 2731   QualType TypeToSize = E->getTypeOfArgument();
 2828   QualType LHSTy = E->getLHS()->getType();
 2846     QualType type = atomicTy->getValueType();
 3222     QualType objectType = pointerOperand->getType()
 3235   QualType elementType = pointerType->getPointeeType();
 3391   QualType ResultTy = op.Ty;
 3392   QualType LHSTy = BinOp->getLHS()->getType();
 3393   QualType RHSTy = BinOp->getRHS()->getType();
 3540   QualType elementType = expr->getLHS()->getType()->getPointeeType();
 3731   QualType LHSTy = E->getLHS()->getType();
 3732   QualType RHSTy = E->getRHS()->getType();
 3757       QualType ElTy = LHSTy->castAs<VectorType>()->getElementType();
 3857     QualType CETy;
 4293   QualType Ty = VE->getType();
 4450 Value *CodeGenFunction::EmitScalarConversion(Value *Src, QualType SrcTy,
 4451                                              QualType DstTy,
 4461                                                       QualType SrcTy,
 4462                                                       QualType DstTy,
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
   25 static uint64_t getFieldSize(const FieldDecl *FD, QualType FT,
   40   void visitStructFields(QualType QT, CharUnits CurStructOffset, Ts... Args) {
   45       QualType FT = FD->getType();
   53   template <class... Ts> void visitTrivial(Ts... Args) {}
   55   template <class... Ts> void visitCXXDestructor(Ts... Args) {
   86   void preVisit(QualType::PrimitiveCopyKind PCK, QualType FT,
   86   void preVisit(QualType::PrimitiveCopyKind PCK, QualType FT,
   93   void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
   93   void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
  107   void visitTrivial(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset,
  159   void visitARCStrong(QualType FT, const FieldDecl *FD,
  168   void visitARCWeak(QualType FT, const FieldDecl *FD,
  175   void visitStruct(QualType QT, const FieldDecl *FD,
  195     QualType EltTy = Ctx.getBaseElementType(CAT);
  207   std::string getName(QualType QT, bool IsVolatile) {
  255   void visitVolatileTrivial(QualType FT, const FieldDecl *FD,
  273   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
  273   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
  290   void visitWithKind(QualType::DestructionKind DK, QualType FT,
  290   void visitWithKind(QualType::DestructionKind DK, QualType FT,
  307   QualType ParamTy = Ctx.getPointerType(Ctx.VoidPtrTy);
  324   void visitStruct(QualType FT, const FieldDecl *FD, CharUnits CurStructOffset,
  344     QualType BaseEltQT;
  384     QualType EltQT = AT->getElementType();
  428   getFunction(StringRef FuncName, QualType QT, std::array<Address, N> Addrs,
  481   void callFunc(StringRef FuncName, QualType QT, std::array<Address, N> Addrs,
  542   void visitVolatileTrivial(QualType FT, const FieldDecl *FD, CharUnits Offset,
  546       QualType RT = QualType(FD->getParent()->getTypeForDecl(), 0);
  575   void visitWithKind(QualType::DestructionKind DK, QualType FT,
  575   void visitWithKind(QualType::DestructionKind DK, QualType FT,
  586   void visitARCStrong(QualType QT, const FieldDecl *FD,
  592   void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
  598   void callSpecialFunction(QualType FT, CharUnits Offset,
  615   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
  615   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
  627   void visitARCStrong(QualType QT, const FieldDecl *FD,
  633   void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
  648     QualType EltTy = Ctx.getBaseElementType(QualType(AT, 0));
  662   void callSpecialFunction(QualType FT, CharUnits Offset,
  673   void visitARCStrong(QualType QT, const FieldDecl *FD,
  683   void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
  690   void callSpecialFunction(QualType FT, CharUnits Offset,
  703   void visitARCStrong(QualType QT, const FieldDecl *FD,
  715   void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
  722   void callSpecialFunction(QualType FT, CharUnits Offset,
  735   void visitARCStrong(QualType QT, const FieldDecl *FD,
  745   void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
  752   void callSpecialFunction(QualType FT, CharUnits Offset,
  766   void visitARCStrong(QualType QT, const FieldDecl *FD,
  781   void visitARCWeak(QualType QT, const FieldDecl *FD, CharUnits CurStructOffset,
  788   void callSpecialFunction(QualType FT, CharUnits Offset,
  801                                                Address Addr, QualType Type) {
  811   QualType QT = Dst.getType();
  817 static void callSpecialFunction(G &&Gen, StringRef FuncName, QualType QT,
  839 getSpecialFunction(G &&Gen, StringRef FuncName, QualType QT, bool IsVolatile,
  853   QualType QT = Dst.getType();
  861     QualType QT, CharUnits Alignment, bool IsVolatile, ASTContext &Ctx) {
  866 std::string CodeGenFunction::getNonTrivialDestructorStr(QualType QT,
  877   QualType QT = Dst.getType();
  888   QualType QT = Dst.getType();
  902   QualType QT = Dst.getType();
  913   QualType QT = Dst.getType();
  927   QualType QT = Dst.getType();
  936     CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) {
  946     bool IsVolatile, QualType QT) {
  958     bool IsVolatile, QualType QT) {
  970     bool IsVolatile, QualType QT) {
  982     bool IsVolatile, QualType QT) {
  993     CodeGenModule &CGM, CharUnits DstAlignment, bool IsVolatile, QualType QT) {
tools/clang/lib/CodeGen/CGObjC.cpp
   34                                    QualType ET,
   82   QualType ArgQT = ArgDecl->getType().getUnqualifiedType();
   86   const QualType ValueType(SubExpr->getType().getCanonicalType());
  102     QualType EncodingQT = EncodingDecl->getType().getUnqualifiedType();
  130     QualType IdTy(CGM.getContext().getObjCIdType());
  144   QualType ElementType = Context.getObjCIdType().withConst();
  145   QualType ElementArrayType
  200   QualType ArgQT = argDecl->getType().getUnqualifiedType();
  215   QualType ResultType = E->getType();
  266 static RValue AdjustObjCObjectType(CodeGenFunction &CGF, QualType ExpT,
  371 tryGenerateSpecializedMessageSend(CodeGenFunction &CGF, QualType ResultType,
  475     QualType ReceiverType = SubOME->getClassReceiver();
  523   QualType ReceiverType;
  577   QualType ResultType = method ? method->getReturnType() : E->getType();
  711                                               LValue lvalue, QualType type);
  834   QualType ivarType = ivar->getType();
 1043   QualType propType = prop->getType();
 1147     QualType ivarType = ivar->getType();
 1444   QualType argType = argDecl->getType().getNonReferenceType();
 1529                                       QualType type) {
 1543     QualType type = ivar->getType();
 1546     QualType::DestructionKind dtorKind = type.isDestructedType();
 1553     if (dtorKind == QualType::DK_objc_strong_lifetime) {
 1594     QualType IdTy(CGM.getContext().getObjCIdType());
 1614 QualType CodeGenFunction::TypeOfSelfObject() {
 1646   QualType StateTy = CGM.getObjCFastEnumerationStateType();
 1662   QualType ItemsTy =
 1790   QualType elementType;
 1938 llvm::Value *CodeGenFunction::EmitObjCConsumeObject(QualType type,
 1946 llvm::Value *CodeGenFunction::EmitObjCExtendObjectLifetime(QualType type,
 2113 llvm::Value *CodeGenFunction::EmitARCRetain(QualType type, llvm::Value *value) {
 2303   QualType type = dst.getType();
 2366 llvm::Value *CodeGenFunction::EmitARCRetainAutorelease(QualType type,
 2467 void CodeGenFunction::emitARCCopyAssignWeak(QualType Ty, Address DstAddr,
 2474 void CodeGenFunction::emitARCMoveAssignWeak(QualType Ty, Address DstAddr,
 2588                                               QualType type) {
 2594                                                 QualType type) {
 2600                                      QualType type) {
 2605                                           QualType type) {
 2719   QualType type = e->getType();
 3228                                                 QualType type) {
 3489   QualType Ty = PID->getPropertyIvarDecl()->getType();
 3506   QualType ReturnTy = C.VoidTy;
 3507   QualType DestTy = C.getPointerType(Ty);
 3508   QualType SrcTy = Ty;
 3512   SmallVector<QualType, 2> ArgTys;
 3515   QualType FunctionTy = C.getFunctionType(ReturnTy, ArgTys, {});
 3574   QualType Ty = PD->getType();
 3590   QualType ReturnTy = C.VoidTy;
 3591   QualType DestTy = C.getPointerType(Ty);
 3592   QualType SrcTy = Ty;
 3596   SmallVector<QualType, 2> ArgTys;
 3599   QualType FunctionTy = C.getFunctionType(ReturnTy, ArgTys, {});
 3673 CodeGenFunction::EmitBlockCopyAndAutorelease(llvm::Value *Block, QualType Ty) {
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  580                       QualType ResultType, Selector Sel,
  586                            QualType ResultType, Selector Sel,
  605   llvm::Constant *GetEHType(QualType T) override;
  647   LValue EmitObjCValueForIvar(CodeGenFunction &CGF, QualType ObjectTy,
  663   llvm::Constant *BuildByrefLayout(CodeGenModule &CGM, QualType T) override {
  745     llvm::Constant *GetEHType(QualType T) override;
 1824         auto ivarTy = IVD->getType();
 2149   QualType selTy = CGM.getContext().getObjCSelType();
 2166   QualType UnqualIdTy = CGM.getContext().getObjCIdType();
 2359 llvm::Constant *CGObjCGNU::GetEHType(QualType T) {
 2380 llvm::Constant *CGObjCGNUstep::GetEHType(QualType T) {
 2495                                     QualType ResultType,
 2615                                QualType ResultType,
 4038                                        QualType ObjectTy,
tools/clang/lib/CodeGen/CGObjCMac.cpp
  205   QualType SuperCTy;
  207   QualType SuperPtrCTy;
  653   QualType MessageRefCTy;
  658   QualType MessageRefCPtrTy;
  982   Qualifiers::ObjCLifetime getBlockCaptureLifetime(QualType QT, bool ByrefLayout);
 1067                                   QualType ResultType,
 1070                                   QualType Arg0Ty,
 1118                                    QualType T) override;
 1317                                       QualType ResultType,
 1325                            ReturnValueSlot Return, QualType ResultType,
 1342   llvm::Constant *GetEHType(QualType T) override;
 1386   LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF, QualType ObjectTy,
 1480                                         QualType ResultType,
 1483                                         QualType Arg0Ty,
 1602                                       QualType ResultType, Selector Sel,
 1610                            ReturnValueSlot Return, QualType ResultType,
 1639   llvm::Constant *GetEHType(QualType T) override;
 1694   LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF, QualType ObjectTy,
 1730                   QualType resultType,
 1897 llvm::Constant *CGObjCMac::GetEHType(QualType T) {
 2054                                     QualType ResultType,
 2115                                                QualType ResultType,
 2139                                  QualType ResultType,
 2142                                  QualType Arg0Ty,
 2251 static Qualifiers::GC GetGCAttrTypeForType(ASTContext &Ctx, QualType FQT,
 2397     QualType type = variable->getType();
 2437 Qualifiers::ObjCLifetime CGObjCCommonMac::getBlockCaptureLifetime(QualType FQT,
 2509     QualType FQT = Field->getType();
 2927     QualType type = variable->getType();
 2968                                                   QualType T) {
 3467 static bool hasWeakMember(QualType type) {
 4898                                        QualType ObjectTy,
 5205   QualType fieldType = field->getType();
 7051                                                QualType ObjectTy,
 7115                                               QualType resultType,
 7118                                               QualType arg0Type,
 7227                                             QualType ResultType,
 7431                                                  QualType ResultType,
 7630 CGObjCNonFragileABIMac::GetEHType(QualType T) {
tools/clang/lib/CodeGen/CGObjCRuntime.cpp
   59   QualType InterfaceTy{OID->getTypeForDecl(), 0};
   60   QualType ObjectPtrTy =
   62   QualType IvarTy =
  361                                   QualType resultType,
tools/clang/lib/CodeGen/CGObjCRuntime.h
  141   virtual llvm::Constant *GetEHType(QualType T) = 0;
  165                       QualType ResultType,
  181                            QualType ResultType,
  264                                       QualType ObjectTy,
  286                                            QualType T) = 0;
  298                                      QualType resultType,
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  806                                              QualType Ty) {
  860                                  QualType Type, bool EmitDeclareReductionInit,
  865   QualType ElementTy;
  998   QualType PrivateType = PrivateVD->getType();
 1037   QualType PrivateType = PrivateVD->getType();
 1060   QualType PrivateType = PrivateVD->getType();
 1063   QualType SharedType = SharedAddresses[N].first.getType();
 1086   QualType PrivateType = PrivateVD->getType();
 1087   QualType::DestructionKind DTorKind = PrivateType.isDestructedType();
 1088   return DTorKind != QualType::DK_none;
 1095   QualType PrivateType = PrivateVD->getType();
 1096   QualType::DestructionKind DTorKind = PrivateType.isDestructedType();
 1104 static LValue loadToBegin(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
 1104 static LValue loadToBegin(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
 1124 static Address castToBase(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
 1124 static Address castToBase(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
 1231                                        QualType FieldTy) {
 1247   QualType KmpInt32Ty = C.getIntTypeForBitwidth(/*DestWidth=*/32, /*Signed=*/1);
 1348 emitCombinerOrInitializer(CodeGenModule &CGM, QualType Ty,
 1353   QualType PtrTy = C.getPointerType(Ty).withRestrict();
 1542 createGlobalStruct(CodeGenModule &CGM, QualType Ty, bool IsConstant,
 1557 createConstantGlobalStructAndAddToParent(CodeGenModule &CGM, QualType Ty,
 2427     QualType ParamTy =
 2437     QualType ParamTy =
 2692       QualType PtrTy = CGM.getContext().getPointerType(VD->getType());
 2763     QualType ASTTy = VD->getType();
 2800     if (VD->getType().isDestructedType() != QualType::DK_none) {
 2890   QualType ASTTy = VD->getType();
 2946   if (VD->getType().isDestructedType() != QualType::DK_none) {
 2988                                                           QualType VarType,
 3124   QualType Int32Ty =
 3334     QualType Type = VD->getType();
 3366     QualType KmpInt32Ty =
 3387     QualType CopyprivateArrayTy = C.getConstantArrayType(
 4289 void CGOpenMPRuntime::emitKmpRoutineEntryT(QualType KmpInt32Ty) {
 4293     QualType KmpRoutineEntryTyArgs[] = {KmpInt32Ty, C.VoidPtrTy};
 4301 QualType CGOpenMPRuntime::getTgtOffloadEntryQTy() {
 4330 QualType CGOpenMPRuntime::getTgtDeviceImageQTy() {
 4356 QualType CGOpenMPRuntime::getTgtBinaryDescriptorQTy() {
 4405       QualType Type = VD->getType().getNonReferenceType();
 4422                          QualType KmpInt32Ty,
 4423                          QualType KmpRoutineEntryPointerQTy) {
 4443   QualType KmpCmplrdataTy = C.getRecordType(UD);
 4452     QualType KmpUInt64Ty =
 4454     QualType KmpInt64Ty =
 4467 createKmpTaskTWithPrivatesRecordDecl(CodeGenModule &CGM, QualType KmpTaskTQTy,
 4496                       OpenMPDirectiveKind Kind, QualType KmpInt32Ty,
 4497                       QualType KmpTaskTWithPrivatesPtrQTy,
 4498                       QualType KmpTaskTWithPrivatesQTy, QualType KmpTaskTQTy,
 4498                       QualType KmpTaskTWithPrivatesQTy, QualType KmpTaskTQTy,
 4499                       QualType SharedsPtrTy, llvm::Function *TaskFunction,
 4600                                             QualType KmpInt32Ty,
 4601                                             QualType KmpTaskTWithPrivatesPtrQTy,
 4602                                             QualType KmpTaskTWithPrivatesQTy) {
 4637     if (QualType::DestructionKind DtorKind =
 4662                                QualType PrivatesQTy,
 4751                              QualType SharedsTy, QualType SharedsPtrTy,
 4751                              QualType SharedsTy, QualType SharedsPtrTy,
 4788         QualType Type = PrivateLValue.getType();
 4880                     QualType KmpTaskTWithPrivatesPtrQTy,
 4882                     const RecordDecl *KmpTaskTQTyRD, QualType SharedsTy,
 4883                     QualType SharedsPtrTy, const OMPTaskDataTy &Data,
 4964                               llvm::Function *TaskFunction, QualType SharedsTy,
 5002   QualType KmpInt32Ty = C.getIntTypeForBitwidth(/*DestWidth=*/32, /*Signed=*/1);
 5027   QualType KmpTaskTWithPrivatesQTy = C.getRecordType(KmpTaskTWithPrivatesQTyRD);
 5028   QualType KmpTaskTWithPrivatesPtrQTy =
 5035   QualType SharedsPtrTy = C.getPointerType(SharedsTy);
 5184                                    QualType SharedsTy, Address Shareds,
 5206     QualType FlagsTy =
 5221     QualType KmpDependInfoArrayTy = C.getConstantArrayType(
 5231       QualType Ty = E->getType();
 5379                                        QualType SharedsTy, Address Shareds,
 5467     CodeGenFunction &CGF, QualType Type, const VarDecl *LHSVar,
 5474   QualType ElementTy;
 5609     QualType PrivTy = (*IPriv)->getType();
 5743   QualType ReductionArrayTy =
 6212   QualType RDType = C.getRecordType(RD);
 6215   QualType ArrayRDType = C.getConstantArrayType(
 7171     QualType ExprTy = E->getType().getCanonicalType();
 7181       QualType BaseTy = OMPArraySectionExpr::getBaseOriginalType(
 7295       QualType BaseQTy = OMPArraySectionExpr::getBaseOriginalType(
 7533       QualType Ty =
 8505       QualType ElementType = PtrTy->getPointeeType();
 8578     QualType PointerArrayType = Ctx.getConstantArrayType(
 8590     QualType Int64Ty =
 8593       QualType SizeArrayType = Ctx.getConstantArrayType(
 8836   QualType Ty = D->getType();
 8837   QualType PtrTy = C.getPointerType(Ty).withRestrict();
 8838   QualType Int64Ty = C.getIntTypeForBitwidth(/*DestWidth=*/64, /*Signed=*/true);
 9617   QualType RDTy = cast<VarDecl>(GD.getDecl())->getType();
 9652   QualType Ty = VD->getType();
10263   QualType RetType = FD->getReturnType();
10267   QualType CDT;
10379 static bool getAArch64MTV(QualType QT, ParamKindTy Kind) {
10400 static bool getAArch64PBV(QualType QT, ASTContext &C) {
10425 static unsigned getAArch64LS(QualType QT, ParamKindTy Kind, ASTContext &C) {
10427     QualType PTy = QT.getCanonicalType()->getPointeeType();
10442   QualType RetType = FD->getReturnType().getCanonicalType();
10455     QualType QT = FD->getParamDecl(I)->getType().getCanonicalType();
10703         QualType ParmTy;
10812   QualType Int64Ty = C.getIntTypeForBitwidth(/*DestWidth=*/64, /*Signed=*/true);
10831   QualType ArrayTy =
10879   QualType Int64Ty =
10882   QualType ArrayTy = CGM.getContext().getConstantArrayType(
11287     CodeGenFunction &CGF, QualType VarType, StringRef Name) {
11300                                        QualType SharedsTy, Address Shareds,
11308     llvm::Function *TaskFunction, QualType SharedsTy, Address Shareds,
tools/clang/lib/CodeGen/CGOpenMPRuntime.h
  329   QualType IdentQTy;
  379   QualType KmpRoutineEntryPtrQTy;
  389   QualType KmpTaskTQTy;
  391   QualType SavedKmpTaskTQTy;
  393   QualType SavedKmpTaskloopTQTy;
  402   QualType KmpDependInfoTy;
  408   QualType KmpDimTy;
  415   QualType TgtOffloadEntryQTy;
  426   QualType TgtDeviceImageQTy;
  436   QualType TgtBinaryDescriptorQTy;
  680   QualType getTgtOffloadEntryQTy();
  683   QualType getTgtDeviceImageQTy();
  686   QualType getTgtBinaryDescriptorQTy();
  695   void emitKmpRoutineEntryT(QualType KmpInt32Ty);
  798                             llvm::Function *TaskFunction, QualType SharedsTy,
 1193                                                    QualType VarType,
 1230                             llvm::Function *TaskFunction, QualType SharedsTy,
 1266                                 QualType SharedsTy, Address Shareds,
 1924                                            QualType VarType,
 1961                     llvm::Function *TaskFunction, QualType SharedsTy,
 1996                         QualType SharedsTy, Address Shareds, const Expr *IfCond,
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  261     QualType Type = VD->getType();
 2121     QualType GlobalRecTy = CGM.getContext().getRecordType(GlobalizedVarsRecord);
 2122     QualType SecGlobalRecTy;
 2206         QualType RDTy = CGM.getContext().getRecordType(RD);
 2226         QualType Int16Ty = CGM.getContext().getIntTypeForBitwidth(
 2312       QualType VarTy;
 2430           QualType Int16Ty = CGM.getContext().getIntTypeForBitwidth(
 2763   QualType Int32Ty =
 2811                                     QualType ValTy, QualType CastTy,
 2811                                     QualType ValTy, QualType CastTy,
 2837                                                  QualType ElemType,
 2854   QualType CastTy = CGF.getContext().getIntTypeForBitwidth(
 2867                             Address DestAddr, QualType ElemType,
 2889     QualType IntType = CGF.getContext().getIntTypeForBitwidth(
 2962     CopyAction Action, CodeGenFunction &CGF, QualType ReductionArrayTy,
 3169                                               QualType ReductionArrayTy,
 3251       QualType CType = C.getIntTypeForBitwidth(
 3461     QualType ReductionArrayTy, llvm::Function *ReduceFn, SourceLocation Loc) {
 3623     QualType ReductionArrayTy, SourceLocation Loc,
 3663   QualType StaticTy = C.getRecordType(TeamReductionRec);
 3728     QualType ReductionArrayTy, SourceLocation Loc,
 3762   QualType StaticTy = C.getRecordType(TeamReductionRec);
 3823     QualType ReductionArrayTy, SourceLocation Loc,
 3863   QualType StaticTy = C.getRecordType(TeamReductionRec);
 3928     QualType ReductionArrayTy, SourceLocation Loc,
 3962   QualType StaticTy = C.getRecordType(TeamReductionRec);
 4298   QualType ReductionArrayTy =
 4446   QualType ArgType = NativeParam->getType();
 4449   QualType PointeeTy = cast<ReferenceType>(NonQualTy)->getPointeeType();
 4485   QualType NativeParamType = NativeParam->getType();
 4488   QualType NativePointeeTy = cast<ReferenceType>(NonQualTy)->getPointeeType();
 4491   QualType TargetTy = TargetParam->getType();
 4545   QualType Int16QTy =
 4547   QualType Int32QTy =
 4634       QualType ElemTy = CurField->getType();
 5075         QualType RDTy = C.getRecordType(RD);
 5084       QualType SubTy = C.getConstantArrayType(
 5111       QualType SubTy = C.getConstantArrayType(
 5123       QualType StaticTy = C.getRecordType(SharedStaticRD);
 5141       QualType StaticTy = C.getRecordType(StaticRD);
 5144       QualType Arr1Ty =
 5148       QualType Arr2Ty =
 5174       QualType RecTy = C.getRecordType(TeamReductionRec);
 5184     QualType StaticTy = C.getRecordType(StaticRD);
tools/clang/lib/CodeGen/CGStmt.cpp
  424       QualType ExprTy = E->getType();
 1036 void CodeGenFunction::EmitReturnOfRValue(RValue RV, QualType Ty) {
 1819                                     LValue InputValue, QualType InputType,
 1993   std::vector<QualType> ResultRegQualTys;
 2066         QualType InputTy = S.getInputExpr(InputNo)->getType();
 2067         QualType OutputType = OutExpr->getType();
 2168       QualType OutputType = S.getOutputExpr(Output)->getType();
 2169       QualType InputTy = InputExpr->getType();
 2335       QualType Ty = getContext().getIntTypeForBitwidth(Size, /*Signed*/ false);
 2351   QualType RecordTy = getContext().getRecordType(RD);
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  265 llvm::Value *CodeGenFunction::getTypeSize(QualType Ty) {
  332                                     QualType DstType, StringRef Name,
  345 static QualType getCanonicalParamType(ASTContext &C, QualType T) {
  345 static QualType getCanonicalParamType(ASTContext &C, QualType T) {
  408     QualType FunctionTy = Ctx.getFunctionType(Ctx.VoidTy, llvm::None, EPI);
  416     QualType ArgType = FD->getType();
  519       QualType VarTy = Var->getType();
  640     Address DestAddr, Address SrcAddr, QualType OriginalType,
  643   QualType ElementTy;
  700 void CodeGenFunction::EmitOMPCopy(QualType OriginalType, Address DestAddr,
  814         QualType Type = VD->getType();
  915       QualType Type = VD->getType();
 1068       QualType Type = PrivateVD->getType();
 1156     QualType Type = PrivateVD->getType();
 1179       QualType Type = PrivateVD->getType();
 2193   QualType IteratorTy = IVExpr->getType();
 2598 static LValue createSectionLVal(CodeGenFunction &CGF, QualType Ty,
 2614     QualType KmpInt32Ty =
 3134                                   QualType Ty, CapturedDecl *CD,
 3146   QualType ElemType = C.getBaseElementType(Ty);
 3168   QualType SharedsTy = getContext().getRecordType(CS->getCapturedRecordDecl());
 3195     QualType BaseAndPointersType = getContext().getConstantArrayType(
 3202     QualType SizesType = getContext().getConstantArrayType(
 3283   QualType SharedsTy = getContext().getRecordType(CS->getCapturedRecordDecl());
 3641                                          QualType SrcType, QualType DestType,
 3641                                          QualType SrcType, QualType DestType,
 3653 convertToComplexValue(CodeGenFunction &CGF, RValue Val, QualType SrcType,
 3654                       QualType DestType, SourceLocation Loc) {
 3660     QualType DestElementType =
 3668     QualType SrcElementType = SrcType->castAs<ComplexType>()->getElementType();
 3669     QualType DestElementType =
 3692                                          QualType RValTy, SourceLocation Loc) {
 3904                             QualType SourceType, QualType ResType,
 3904                             QualType SourceType, QualType ResType,
 3934   QualType NewVValType;
 4671       QualType AddrQTy =
 4969   QualType SharedsTy = getContext().getRecordType(CS->getCapturedRecordDecl());
tools/clang/lib/CodeGen/CGVTables.cpp
   69                                       QualType ResultType, RValue RV,
  161   QualType ResultType = FPT->getReturnType();
  244   QualType ThisType = MD->getThisType();
  245   QualType ResultType;
  325   QualType ThisType = MD->getThisType();
  358   QualType ResultType = CGM.getCXXABI().HasThisReturn(CurGD)
tools/clang/lib/CodeGen/CGValue.h
  188   QualType Type;
  227   void Initialize(QualType Type, Qualifiers Quals, CharUnits Alignment,
  263   QualType getType() const { return Type; }
  366   static LValue MakeAddr(Address address, QualType type, ASTContext &Context,
  380                               QualType type, LValueBaseInfo BaseInfo,
  392                                  QualType type, LValueBaseInfo BaseInfo,
  410                              QualType type, LValueBaseInfo BaseInfo,
  421   static LValue MakeGlobalReg(Address Reg, QualType type) {
  622   CharUnits getPreferredSize(ASTContext &Ctx, QualType Type) const {
tools/clang/lib/CodeGen/CodeGenABITypes.cpp
   31                                          QualType receiverType) {
   78 CodeGen::convertTypeForMemory(CodeGenModule &CGM, QualType T) {
tools/clang/lib/CodeGen/CodeGenFunction.cpp
  105 CharUnits CodeGenFunction::getNaturalPointeeTypeAlignment(QualType T,
  112 CharUnits CodeGenFunction::getNaturalTypeAlignment(QualType T,
  160 LValue CodeGenFunction::MakeNaturalAlignAddrLValue(llvm::Value *V, QualType T) {
  171 CodeGenFunction::MakeNaturalAlignPointeeAddrLValue(llvm::Value *V, QualType T) {
  180 llvm::Type *CodeGenFunction::ConvertTypeForMem(QualType T) {
  184 llvm::Type *CodeGenFunction::ConvertType(QualType T) {
  188 TypeEvaluationKind CodeGenFunction::getEvaluationKind(QualType type) {
  547     QualType HintQTy = A->getTypeHint();
  639                                     QualType RetTy,
  787         auto ProtoTy =
  858     SmallVector<QualType, 16> ArgTypes;
  861     QualType FnType = getContext().getFunctionType(
  993       QualType ThisTy = MD->getThisType();
 1019     QualType Ty;
 1085 QualType CodeGenFunction::BuildFunctionArgList(GlobalDecl GD,
 1088   QualType ResTy = FD->getReturnType();
 1131   QualType T = FD->getReturnType();
 1147   QualType ResTy = BuildFunctionArgList(GD, Args);
 1574 static void emitNonZeroVLAInit(CodeGenFunction &CGF, QualType baseType,
 1619 CodeGenFunction::EmitNullInitialization(Address DestPtr, QualType Ty) {
 1721                                               QualType &baseType,
 1734       QualType elementType = arrayType->getElementType();
 1758   QualType eltType;
 1810 CodeGenFunction::VlaSizePair CodeGenFunction::getVLASize(QualType type) {
 1821   QualType elementType;
 1841 CodeGenFunction::getVLAElements1D(QualType type) {
 1855 void CodeGenFunction::EmitVariablyModifiedType(QualType type) {
 2046                                               QualType Ty, SourceLocation Loc,
 2066   QualType Ty = E->getType();
 2339     llvm::Value *Ptr, QualType Ty, SourceLocation Loc,
tools/clang/lib/CodeGen/CodeGenFunction.h
  299   QualType FnRetTy;
  563   typename DominatingValue<T>::saved_type saveValueInCond(T value) {
  563   typename DominatingValue<T>::saved_type saveValueInCond(T value) {
  564     return DominatingValue<T>::save(*this, value);
  607   void pushFullExprCleanup(CleanupKind kind, As... A) {
  614     typedef std::tuple<typename DominatingValue<As>::saved_type...> SavedTuple;
  617     typedef EHScopeStack::ConditionalCleanup<T, As...> CleanupType;
  625   void pushCleanupAfterFullExpr(CleanupKind Kind, As... A) {
  633     typedef std::tuple<typename DominatingValue<As>::saved_type...> SavedTuple;
  636     typedef EHScopeStack::ConditionalCleanup<T, As...> CleanupType;
  642                                     As... A) {
  673   void PushDestructorCleanup(QualType T, Address Addr);
  678   void PushDestructorCleanup(const CXXDestructorDecl *Dtor, QualType T,
  852       QualType VarTy = LocalVD->getType();
 1526     QualType OldFnRetTy;
 1669   typedef void Destroyer(CodeGenFunction &CGF, Address addr, QualType ty);
 1673                                         QualType elementType,
 1678                                       QualType elementType,
 1682   void pushDestroy(QualType::DestructionKind dtorKind,
 1683                    Address addr, QualType type);
 1684   void pushEHDestroy(QualType::DestructionKind dtorKind,
 1685                      Address addr, QualType type);
 1686   void pushDestroy(CleanupKind kind, Address addr, QualType type,
 1689                                    QualType type, Destroyer *destroyer,
 1693                                    QualType ElementType);
 1695   void emitDestroy(Address addr, QualType type, Destroyer *destroyer,
 1697   llvm::Function *generateDestroyHelper(Address addr, QualType type,
 1702                         QualType elementType, CharUnits elementAlign,
 1706   Destroyer *getDestroyer(QualType::DestructionKind destructionKind);
 1710   bool needsEHCleanup(QualType::DestructionKind kind) {
 1712     case QualType::DK_none:
 1714     case QualType::DK_cxx_destructor:
 1715     case QualType::DK_objc_weak_lifetime:
 1716     case QualType::DK_nontrivial_c_struct:
 1718     case QualType::DK_objc_strong_lifetime:
 1725   CleanupKind getCleanupKind(QualType::DestructionKind kind) {
 1774   static bool cxxDestructorCanThrow(QualType T);
 1782   llvm::Value *EmitBlockCopyAndAutorelease(llvm::Value *Block, QualType Ty);
 1827   QualType BuildFunctionArgList(GlobalDecl GD, FunctionArgList &Args);
 1840                      QualType RetTy,
 1943   void EmitVTablePtrCheckForCast(QualType T, llvm::Value *Derived,
 2036   llvm::Type *ConvertTypeForMem(QualType T);
 2037   llvm::Type *ConvertType(QualType T);
 2047   QualType TypeOfSelfObject();
 2050   static TypeEvaluationKind getEvaluationKind(QualType T);
 2052   static bool hasScalarEvaluationKind(QualType T) {
 2056   static bool hasAggregateEvaluationKind(QualType T) {
 2123   LValue MakeAddrLValue(Address Addr, QualType T,
 2129   LValue MakeAddrLValue(Address Addr, QualType T, LValueBaseInfo BaseInfo,
 2134   LValue MakeAddrLValue(llvm::Value *V, QualType T, CharUnits Alignment,
 2140   LValue MakeAddrLValue(llvm::Value *V, QualType T, CharUnits Alignment,
 2146   LValue MakeNaturalAlignPointeeAddrLValue(llvm::Value *V, QualType T);
 2147   LValue MakeNaturalAlignAddrLValue(llvm::Value *V, QualType T);
 2148   CharUnits getNaturalTypeAlignment(QualType T,
 2152   CharUnits getNaturalPointeeTypeAlignment(QualType T,
 2160   LValue EmitLoadOfReferenceLValue(Address RefAddr, QualType RefTy,
 2239   Address CreateIRTemp(QualType T, const Twine &Name = "tmp");
 2244   Address CreateMemTemp(QualType T, const Twine &Name = "tmp",
 2246   Address CreateMemTemp(QualType T, CharUnits Align, const Twine &Name = "tmp",
 2251   Address CreateMemTempWithoutCast(QualType T, const Twine &Name = "tmp");
 2252   Address CreateMemTempWithoutCast(QualType T, CharUnits Align,
 2257   AggValueSlot CreateAggTemp(QualType T, const Twine &Name = "tmp") {
 2313   bool hasVolatileMember(QualType T) {
 2339   void EmitAggregateAssign(LValue Dest, LValue Src, QualType EltTy) {
 2356   void EmitAggregateCopy(LValue Dest, LValue Src, QualType EltTy,
 2392   void EmitNullInitialization(Address DestPtr, QualType Ty);
 2415                                QualType &baseType,
 2422   void EmitVariablyModifiedType(QualType Ty);
 2426     QualType Type;
 2428     VlaSizePair(llvm::Value *NE, QualType T) : NumElts(NE), Type(T) {}
 2434   VlaSizePair getVLAElements1D(QualType vla);
 2441   VlaSizePair getVLASize(QualType vla);
 2559                              QualType ThisTy);
 2561   void EmitNewArrayInitializer(const CXXNewExpr *E, QualType elementType,
 2566   void EmitCXXTemporary(const CXXTemporary *Temporary, QualType TempType,
 2576                       QualType DeleteTy, llvm::Value *NumElements = nullptr,
 2628   static bool isVptrCheckRequired(TypeCheckKind TCK, QualType Ty);
 2638                      QualType Type, CharUnits Alignment = CharUnits::Zero(),
 2646                        QualType IndexType, bool Accessed);
 2763                               QualType::DestructionKind dtorKind);
 2819   void EmitAlignmentAssumptionCheck(llvm::Value *Ptr, QualType Ty,
 2827   void EmitAlignmentAssumption(llvm::Value *PtrValue, QualType Ty,
 2971   llvm::Value *getTypeSize(QualType Ty);
 2979   void emitOMPSimpleStore(LValue LVal, RValue RVal, QualType RValTy,
 2991       Address DestAddr, Address SrcAddr, QualType OriginalType,
 3004   void EmitOMPCopy(QualType OriginalType,
 3336   RValue GetUndefRValue(QualType Ty);
 3372   RValue convertTempToRValue(Address addr, QualType type,
 3405   llvm::Value *EmitToMemory(llvm::Value *Value, QualType Ty);
 3409   llvm::Value *EmitFromMemory(llvm::Value *Value, QualType Ty);
 3415   bool EmitScalarRangeCheck(llvm::Value *Value, QualType Ty,
 3421   llvm::Value *EmitLoadOfScalar(Address Addr, bool Volatile, QualType Ty,
 3429   llvm::Value *EmitLoadOfScalar(Address Addr, bool Volatile, QualType Ty,
 3444                          bool Volatile, QualType Ty,
 3452                          bool Volatile, QualType Ty,
 3576   LValue EmitLValueForIvar(QualType ObjectTy,
 3608   RValue EmitCall(QualType FnType, const CGCallee &Callee, const CallExpr *E,
 3653   static std::string getNonTrivialCopyConstructorStr(QualType QT,
 3659   static std::string getNonTrivialDestructorStr(QualType QT,
 3679                               QualType ImplicitParamTy, const CallExpr *E,
 3682                                llvm::Value *This, QualType ThisTy,
 3684                                QualType ImplicitParamTy, const CallExpr *E);
 3812   void emitARCCopyAssignWeak(QualType Ty, Address DstAddr, Address SrcAddr);
 3813   void emitARCMoveAssignWeak(QualType Ty, Address DstAddr, Address SrcAddr);
 3816   llvm::Value *EmitARCRetainAutorelease(QualType type, llvm::Value *value);
 3822   llvm::Value *EmitARCRetain(QualType type, llvm::Value *value);
 3852   llvm::Value *EmitObjCConsumeObject(QualType T, llvm::Value *Ptr);
 3853   llvm::Value *EmitObjCExtendObjectLifetime(QualType T, llvm::Value *Ptr);
 3891   llvm::Value *EmitScalarConversion(llvm::Value *Src, QualType SrcTy,
 3892                                     QualType DstTy, SourceLocation Loc);
 3896   llvm::Value *EmitComplexToScalarConversion(ComplexPairTy Src, QualType SrcTy,
 3897                                              QualType DstTy,
 3929   Address emitAddrOfRealComponent(Address complex, QualType complexType);
 3930   Address emitAddrOfImagComponent(Address complex, QualType complexType);
 4098   llvm::Constant *EmitCheckTypeDescriptor(QualType T);
 4141   void EmitNonNullArgCheck(RValue RV, QualType ArgType, SourceLocation ArgLoc,
 4145   void EmitCallArg(CallArgList &args, const Expr *E, QualType ArgType);
 4158   llvm::MDNode *getRangeForLoadFromType(QualType Ty);
 4159   void EmitReturnOfRValue(RValue RV, QualType Ty);
 4176   void ExpandTypeFromArgs(QualType Ty, LValue Dst,
 4182   void ExpandTypeToArgs(QualType Ty, CallArg Arg, llvm::FunctionType *IRFuncTy,
 4190                                   LValue InputValue, QualType InputType,
 4212   void emitZeroOrPatternForAutoVarInit(QualType type, const VarDecl &D,
 4252     SmallVector<QualType, 16> ArgTypes;
 4294   void EmitCallArgs(CallArgList &Args, ArrayRef<QualType> ArgTypes,
 4324   llvm::Value *LoadPassedObjectSize(const Expr *E, QualType EltTy);
 4353   QualType getVarArgType(const Expr *Arg);
tools/clang/lib/CodeGen/CodeGenModule.cpp
  656 llvm::MDNode *CodeGenModule::getTBAATypeInfo(QualType QTy) {
  662 TBAAAccessInfo CodeGenModule::getTBAAAccessInfo(QualType AccessType) {
  675 llvm::MDNode *CodeGenModule::getTBAAStructInfo(QualType QTy) {
  681 llvm::MDNode *CodeGenModule::getTBAABaseTypeInfo(QualType QTy) {
 1295       QualType ty = parm->getType();
 1299         QualType pointeeTy = ty->getPointeeType();
 2251                                            SourceLocation Loc, QualType Ty,
 2565 static bool HasNonDllImportDtor(QualType T) {
 3381 bool CodeGenModule::isTypeConstant(QualType Ty, bool ExcludeCtor) {
 3667   QualType ASTTy = D->getType();
 3861   QualType ASTTy = D->getType();
 3874       D->needsDestruction(getContext()) == QualType::DK_cxx_destructor;
 3917       QualType T = InitExpr->getType();
 4144     QualType VarType = D->getType();
 4704   QualType CFTy = Context.getCFConstantStringType();
 4811 QualType CodeGenModule::getObjCFastEnumerationStateType() {
 4816     QualType FieldTypes[] = {
 5010   QualType MaterializedType = Init->getType();
 5730 llvm::Constant *CodeGenModule::GetAddrOfRTTIDescriptor(QualType Ty,
 5764 CodeGenModule::CreateMetadataIdentifierImpl(QualType T, MetadataTypeMap &Map,
 5785 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierForType(QualType T) {
 5790 CodeGenModule::CreateMetadataIdentifierForVirtualMemPtrType(QualType T) {
 5798 static QualType GeneralizeType(ASTContext &Ctx, QualType Ty) {
 5798 static QualType GeneralizeType(ASTContext &Ctx, QualType Ty) {
 5808 static QualType GeneralizeFunctionType(ASTContext &Ctx, QualType Ty) {
 5808 static QualType GeneralizeFunctionType(ASTContext &Ctx, QualType Ty) {
 5810     SmallVector<QualType, 8> GeneralizedParams;
 5826 llvm::Metadata *CodeGenModule::CreateMetadataIdentifierGeneralized(QualType T) {
tools/clang/lib/CodeGen/CodeGenModule.h
  418   llvm::DenseMap<QualType, llvm::Constant *> AtomicSetterHelperFnMap;
  419   llvm::DenseMap<QualType, llvm::Constant *> AtomicGetterHelperFnMap;
  422   llvm::DenseMap<QualType, llvm::Constant *> TypeDescriptorMap;
  488   QualType ObjCFastEnumerationStateType;
  545   typedef llvm::DenseMap<QualType, llvm::Metadata *> MetadataTypeMap;
  636   llvm::Constant *getAtomicSetterHelperFnMap(QualType Ty) {
  639   void setAtomicSetterHelperFnMap(QualType Ty,
  644   llvm::Constant *getAtomicGetterHelperFnMap(QualType Ty) {
  647   void setAtomicGetterHelperFnMap(QualType Ty,
  652   llvm::Constant *getTypeDescriptorFromMap(QualType Ty) {
  655   void setTypeDescriptorInMap(QualType Ty, llvm::Constant *C) {
  708   llvm::MDNode *getTBAATypeInfo(QualType QTy);
  712   TBAAAccessInfo getTBAAAccessInfo(QualType AccessType);
  718   llvm::MDNode *getTBAAStructInfo(QualType QTy);
  722   llvm::MDNode *getTBAABaseTypeInfo(QualType QTy);
  744   TBAAAccessInfo getTBAAInfoForSubobject(LValue Base, QualType AccessType) {
  750   bool isTypeConstant(QualType QTy, bool ExcludeCtorDtor);
  752   bool isPaddedAtomicType(QualType type);
  849   llvm::Constant *GetAddrOfRTTIDescriptor(QualType Ty, bool ForEH = false);
  962   QualType getObjCFastEnumerationStateType();
 1077   llvm::Constant *EmitNullConstant(QualType T);
 1114   bool ReturnTypeUsesFPRet(QualType ResultType);
 1117   bool ReturnTypeUsesFP2Ret(QualType ResultType);
 1233                               QualType Ty,
 1312   llvm::Metadata *CreateMetadataIdentifierForType(QualType T);
 1316   llvm::Metadata *CreateMetadataIdentifierForVirtualMemPtrType(QualType T);
 1321   llvm::Metadata *CreateMetadataIdentifierGeneralized(QualType T);
 1367   llvm::Constant *getNullPointer(llvm::PointerType *T, QualType QT);
 1523   llvm::Metadata *CreateMetadataIdentifierImpl(QualType T, MetadataTypeMap &Map,
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
   79 static bool TypeHasMayAlias(QualType QTy) {
   96 static bool isValidBaseType(QualType QTy) {
  187 llvm::MDNode *CodeGenTBAA::getTypeInfo(QualType QTy) {
  217 TBAAAccessInfo CodeGenTBAA::getAccessInfo(QualType AccessType) {
  239                            QualType QTy,
  264       QualType FieldQTy = i->getType();
  282 CodeGenTBAA::getTBAAStructInfo(QualType QTy) {
  304       QualType FieldQTy = Field->getType();
  343 llvm::MDNode *CodeGenTBAA::getBaseTypeInfo(QualType QTy) {
tools/clang/lib/CodeGen/CodeGenTBAA.h
  153                      QualType Ty,
  177   llvm::MDNode *getTypeInfo(QualType QTy);
  181   TBAAAccessInfo getAccessInfo(QualType AccessType);
  189   llvm::MDNode *getTBAAStructInfo(QualType QTy);
  193   llvm::MDNode *getBaseTypeInfo(QualType QTy);
tools/clang/lib/CodeGen/CodeGenTypes.cpp
   86 llvm::Type *CodeGenTypes::ConvertTypeForMem(QualType T) {
  108 isSafeToConvert(QualType T, CodeGenTypes &CGT,
  157 isSafeToConvert(QualType T, CodeGenTypes &CGT,
  194 bool CodeGenTypes::isFuncParamTypeConvertible(QualType Ty) {
  279   QualType T = Context.getRecordType(RD);
  311 llvm::Type *CodeGenTypes::ConvertFunctionTypeInternal(QualType QFT) {
  381 llvm::Type *CodeGenTypes::ConvertType(QualType T) {
  551     QualType ETy = RTy->getPointeeType();
  559     QualType ETy = PTy->getPointeeType();
  653     const QualType FTy = cast<BlockPointerType>(Ty)->getPointeeType();
  674     QualType valueType = cast<AtomicType>(Ty)->getValueType();
  703 bool CodeGenModule::isPaddedAtomicType(QualType type) {
  792 bool CodeGenTypes::isPointerZeroInitializable(QualType T) {
  797 bool CodeGenTypes::isZeroInitializable(QualType T) {
tools/clang/lib/CodeGen/CodeGenTypes.h
  107   llvm::Type *ConvertFunctionTypeInternal(QualType FT);
  131   llvm::Type *ConvertType(QualType T);
  137   llvm::Type *ConvertTypeForMem(QualType T);
  148   bool isFuncParamTypeConvertible(QualType Ty);
  215   arrangeBuiltinFunctionDeclaration(QualType resultType,
  220   const CGFunctionInfo &arrangeBuiltinFunctionCall(QualType resultType,
  226                                                         QualType receiverType);
  228                                                      QualType returnType,
  290   void getExpandedTypes(QualType Ty,
  295   bool isZeroInitializable(QualType T);
  299   bool isPointerZeroInitializable(QualType T);
tools/clang/lib/CodeGen/ConstantEmitter.h
   74                                         QualType destType);
   76                                      QualType destType);
  102   llvm::Constant *emitAbstract(const Expr *E, QualType T);
  104                                QualType T);
  107   llvm::Constant *tryEmitAbstract(const Expr *E, QualType T);
  108   llvm::Constant *tryEmitAbstractForMemory(const Expr *E, QualType T);
  110   llvm::Constant *tryEmitAbstract(const APValue &value, QualType T);
  111   llvm::Constant *tryEmitAbstractForMemory(const APValue &value, QualType T);
  113   llvm::Constant *emitNullForMemory(QualType T) {
  116   llvm::Constant *emitForMemory(llvm::Constant *C, QualType T) {
  120   static llvm::Constant *emitNullForMemory(CodeGenModule &CGM, QualType T);
  122                                        QualType T);
  130   llvm::Constant *tryEmitPrivate(const Expr *E, QualType T);
  131   llvm::Constant *tryEmitPrivateForMemory(const Expr *E, QualType T);
  133   llvm::Constant *tryEmitPrivate(const APValue &value, QualType T);
  134   llvm::Constant *tryEmitPrivateForMemory(const APValue &value, QualType T);
tools/clang/lib/CodeGen/CoverageMappingGen.cpp
  945     QualType CalleeType = E->getCallee()->getType();
tools/clang/lib/CodeGen/EHScopeStack.h
   56   typedef T type;
   57   typedef T saved_type;
   65 template <class T> struct DominatingValue : InvariantValue<T> {};
  198     typedef std::tuple<typename DominatingValue<As>::saved_type...> SavedTuple;
  205       return T{DominatingValue<As>::restore(CGF, std::get<Is>(Saved))...};
  213     ConditionalCleanup(typename DominatingValue<As>::saved_type... A)
  272   template <class T, class... As> void pushCleanup(CleanupKind Kind, As... A) {
  282   void pushCleanupTuple(CleanupKind Kind, std::tuple<As...> A) {
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  144   llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
  158                                Address Ptr, QualType ElementType,
  171   llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) override;
  173   getAddrOfCXXCatchHandlerType(QualType Ty,
  174                                QualType CatchHandlerType) override {
  178   bool shouldTypeidBeNullChecked(bool IsDeref, QualType SrcRecordTy) override;
  180   llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
  185                                           QualType SrcRecordTy) override;
  188                                    QualType SrcRecordTy, QualType DestTy,
  188                                    QualType SrcRecordTy, QualType DestTy,
  189                                    QualType DestRecordTy,
  193                                      QualType SrcRecordTy,
  194                                      QualType DestTy) override;
  219   void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
  232                           QualType ThisTy) override;
  304   CharUnits getArrayCookieSizeImpl(QualType elementType) override;
  309                                 QualType ElementType) override;
  367                                       QualType LValType) override;
  398   classifyRTTIUniqueness(QualType CanTy,
  468                            QualType ResTy) override;
  470   CharUnits getArrayCookieSizeImpl(QualType elementType) override;
  475                                 QualType ElementType) override;
 1019                                                  QualType MPType) {
 1172                                             QualType ElementType,
 1246   QualType ThrowType = E->getSubExpr()->getType();
 1368                                               QualType SrcRecordTy) {
 1380                                        QualType SrcRecordTy,
 1394                                                        QualType SrcRecordTy) {
 1399     CodeGenFunction &CGF, Address ThisAddr, QualType SrcRecordTy,
 1400     QualType DestTy, QualType DestRecordTy, llvm::BasicBlock *CastEnd) {
 1400     QualType DestTy, QualType DestRecordTy, llvm::BasicBlock *CastEnd) {
 1443                                                   QualType SrcRecordTy,
 1444                                                   QualType DestTy) {
 1553                                               QualType &ResTy,
 1563     QualType T = Context.getPointerType(Context.VoidPtrTy);
 1608   QualType VTTTy = getContext().getPointerType(getContext().VoidPtrTy);
 1617                                        QualType ThisTy) {
 1620   QualType VTTTy = getContext().getPointerType(getContext().VoidPtrTy);
 1831   QualType ThisTy;
 1974                                     RValue RV, QualType ResultType) {
 1986 CharUnits ItaniumCXXABI::getArrayCookieSizeImpl(QualType elementType) {
 1997                                              QualType ElementType) {
 2065 CharUnits ARMCXXABI::getArrayCookieSizeImpl(QualType elementType) {
 2082                                          QualType elementType) {
 2428     QualType ReturnTy = Ctx.VoidTy;
 2429     QualType FunctionTy = Ctx.getFunctionType(ReturnTy, llvm::None, {});
 2520   QualType RetQT = VD->getType();
 2718                                                    QualType LValType) {
 2766   GetAddrOfTypeName(QualType Ty, llvm::GlobalVariable::LinkageTypes Linkage);
 2770   llvm::Constant *GetAddrOfExternalRTTIDescriptor(QualType Ty);
 2786   void BuildPointerTypeInfo(QualType PointeeTy);
 2845   llvm::Constant *BuildTypeInfo(QualType Ty);
 2849       QualType Ty,
 2857     QualType Ty, llvm::GlobalVariable::LinkageTypes Linkage) {
 2878 ItaniumRTTIBuilder::GetAddrOfExternalRTTIDescriptor(QualType Ty) {
 3008   QualType PointeeTy = PointerTy->getPointeeType();
 3025 static bool IsStandardLibraryRTTIDescriptor(QualType Ty) {
 3043                                             QualType Ty) {
 3096 static bool ContainsIncompleteClassType(QualType Ty) {
 3277                                                              QualType Ty) {
 3328 llvm::Constant *ItaniumRTTIBuilder::BuildTypeInfo(QualType Ty) {
 3377       QualType Ty,
 3566   QualType SuperTy = CGM.getContext().getObjCInterfaceType(Super);
 3690   QualType OffsetFlagsTy = CGM.getContext().LongTy;
 3734 static unsigned extractPBaseFlags(ASTContext &Ctx, QualType &Type) {
 3763 void ItaniumRTTIBuilder::BuildPointerTypeInfo(QualType PointeeTy) {
 3785   QualType PointeeTy = Ty->getPointeeType();
 3815 llvm::Constant *ItaniumCXXABI::getAddrOfRTTIDescriptor(QualType Ty) {
 3821   QualType FundamentalTypes[] = {
 3842   for (const QualType &FundamentalType : FundamentalTypes) {
 3843     QualType PointerType = getContext().getPointerType(FundamentalType);
 3844     QualType PointerTypeConst = getContext().getPointerType(
 3846     for (QualType Type : {FundamentalType, PointerType, PointerTypeConst})
 3856     QualType CanTy, llvm::GlobalValue::LinkageTypes Linkage) const {
 4102     QualType CaughtType = cast<ReferenceType>(CatchType)->getPointeeType();
 4112       QualType PointeeType = PT->getPointeeType();
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  115                                Address Ptr, QualType ElementType,
  126   llvm::Constant *getAddrOfRTTIDescriptor(QualType Ty) override;
  128   getAddrOfCXXCatchHandlerType(QualType Ty, QualType CatchHandlerType) override;
  128   getAddrOfCXXCatchHandlerType(QualType Ty, QualType CatchHandlerType) override;
  135   bool shouldTypeidBeNullChecked(bool IsDeref, QualType SrcRecordTy) override;
  137   llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
  142                                           QualType SrcRecordTy) override;
  145                                    QualType SrcRecordTy, QualType DestTy,
  145                                    QualType SrcRecordTy, QualType DestTy,
  146                                    QualType DestRecordTy,
  150                                      QualType SrcRecordTy,
  151                                      QualType DestTy) override;
  249   void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
  262                           QualType ThisTy) override;
  393                                       QualType LValType) override;
  426                            QualType elementType) override;
  428   CharUnits getArrayCookieSizeImpl(QualType type) override;
  433                                 QualType ElementType) override;
  592                         QualType SrcRecordTy);
  637   llvm::Constant *EmitMemberPointer(const APValue &MP, QualType MPT) override;
  749   llvm::Constant *getCatchableType(QualType T,
  754   llvm::GlobalVariable *getCatchableTypeArray(QualType T);
  756   llvm::GlobalVariable *getThrowInfo(QualType T) override;
  796   llvm::DenseMap<QualType, llvm::GlobalVariable *> CatchableTypeArrays;
  843                                               QualType ElementType,
  893                                        QualType SrcRecordTy) {
  926                                                 QualType SrcRecordTy) {
  950                                          QualType SrcRecordTy,
  960                                                          QualType SrcRecordTy) {
  967     CodeGenFunction &CGF, Address This, QualType SrcRecordTy,
  968     QualType DestTy, QualType DestRecordTy, llvm::BasicBlock *CastEnd) {
  968     QualType DestTy, QualType DestRecordTy, llvm::BasicBlock *CastEnd) {
 1002                                        QualType SrcRecordTy,
 1003                                        QualType DestTy) {
 1449                                                 QualType &ResTy,
 1574                                          QualType ThisTy) {
 1925   QualType ThisTy;
 2206                                    QualType elementType) {
 2218 CharUnits MicrosoftCXXABI::getArrayCookieSizeImpl(QualType type) {
 2238                                                QualType elementType) {
 2343                                                      QualType LValType) {
 2716                                                    QualType MPType) {
 3480 static llvm::GlobalValue::LinkageTypes getLinkageForRTTI(QualType Ty) {
 3744 static QualType decomposeTypeForEH(ASTContext &Context, QualType T,
 3744 static QualType decomposeTypeForEH(ASTContext &Context, QualType T,
 3757   QualType PointeeType = T->getPointeeType();
 3779 MicrosoftCXXABI::getAddrOfCXXCatchHandlerType(QualType Type,
 3780                                               QualType CatchHandlerType) {
 3808 llvm::Constant *MicrosoftCXXABI::getAddrOfRTTIDescriptor(QualType Type) {
 3901   QualType RecordTy = getContext().getRecordType(RD);
 4000 llvm::Constant *MicrosoftCXXABI::getCatchableType(QualType T,
 4046   QualType PointeeType = T;
 4085 llvm::GlobalVariable *MicrosoftCXXABI::getCatchableTypeArray(QualType T) {
 4139       QualType RTTITy = QualType(Class.RD->getTypeForDecl(), 0);
 4203 llvm::GlobalVariable *MicrosoftCXXABI::getThrowInfo(QualType T) {
 4274   QualType ThrowType = SubExpr->getType();
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
   85       QualType QualTy = Ctx.getTypeDeclType(D);
   92       QualType QualTy(D->getTypeForDecl(), 0);
  104       SmallVector<QualType, 16> ArgTypes;
  107       QualType RetTy = D->getReturnType();
  108       QualType FnTy = Ctx.getFunctionType(RetTy, ArgTypes,
  120       SmallVector<QualType, 16> ArgTypes;
  126       QualType RetTy = D->getReturnType();
  127       QualType FnTy = Ctx.getFunctionType(RetTy, ArgTypes,
tools/clang/lib/CodeGen/SanitizerMetadata.cpp
   31                                            QualType Ty, bool IsDynInit,
tools/clang/lib/CodeGen/SanitizerMetadata.h
   42                           StringRef Name, QualType Ty, bool IsDynInit = false,
tools/clang/lib/CodeGen/SwiftCallingConv.cpp
   63 void SwiftAggLowering::addTypedData(QualType type, CharUnits begin) {
   77     QualType eltType = arrayType->getElementType();
   85     auto eltType = complexType->getElementType();
tools/clang/lib/CodeGen/TargetInfo.cpp
   50 static ABIArgInfo coerceToIntArray(QualType Ty,
   74 static bool isAggregateTypeForABI(QualType T) {
   80 ABIInfo::getNaturalAlignIndirect(QualType Ty, bool ByRef, bool Realign,
   87 ABIInfo::getNaturalAlignIndirectInReg(QualType Ty, bool Realign) const {
   93                              QualType Ty) const {
  150 static CGCXXABI::RecordArgABI getRecordArgABI(QualType T,
  160   QualType Ty = FI.getReturnType();
  174 static QualType useFirstFieldIfTransparentUnion(QualType Ty) {
  174 static QualType useFirstFieldIfTransparentUnion(QualType Ty) {
  211 bool ABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const {
  341                                 QualType ValueTy, bool IsIndirect,
  433     llvm::PointerType *T, QualType QT) const {
  474 static bool isEmptyRecord(ASTContext &Context, QualType T, bool AllowArrays);
  483   QualType FT = FD->getType();
  511 static bool isEmptyRecord(ASTContext &Context, QualType T, bool AllowArrays) {
  539 static const Type *isSingleElementStruct(QualType T, ASTContext &Context) {
  571     QualType FT = FD->getType();
  607 Address EmitVAArgInstr(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
  663   ABIArgInfo classifyReturnType(QualType RetTy) const;
  664   ABIArgInfo classifyArgumentType(QualType RetTy) const;
  674                     QualType Ty) const override {
  685 ABIArgInfo DefaultABIInfo::classifyArgumentType(QualType Ty) const {
  705 ABIArgInfo DefaultABIInfo::classifyReturnType(QualType RetTy) const {
  734   ABIArgInfo classifyReturnType(QualType RetTy) const;
  735   ABIArgInfo classifyArgumentType(QualType Ty) const;
  748                     QualType Ty) const override;
  792 ABIArgInfo WebAssemblyABIInfo::classifyArgumentType(QualType Ty) const {
  814 ABIArgInfo WebAssemblyABIInfo::classifyReturnType(QualType RetTy) const {
  835                                       QualType Ty) const {
  856   ABIArgInfo classifyReturnType(QualType RetTy) const;
  857   ABIArgInfo classifyArgumentType(QualType RetTy) const;
  861                     Address VAListAddr, QualType Ty) const override;
  879                                 QualType Ty) const {
  890 ABIArgInfo PNaClABIInfo::classifyArgumentType(QualType Ty) const {
  907 ABIArgInfo PNaClABIInfo::classifyReturnType(QualType RetTy) const {
  952 static bool isX86VectorTypeForVectorCall(ASTContext &Context, QualType Ty) {
 1024   bool isHomogeneousAggregateBaseType(QualType Ty) const override {
 1035   bool shouldReturnTypeInRegister(QualType Ty, ASTContext &Context) const;
 1039   ABIArgInfo getIndirectResult(QualType Ty, bool ByVal, CCState &State) const;
 1041   ABIArgInfo getIndirectReturnResult(QualType Ty, CCState &State) const;
 1044   unsigned getTypeStackAlignInBytes(QualType Ty, unsigned Align) const;
 1046   Class classify(QualType Ty) const;
 1047   ABIArgInfo classifyReturnType(QualType RetTy, CCState &State) const;
 1048   ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State) const;
 1052   bool updateFreeRegs(QualType Ty, CCState &State) const;
 1054   bool shouldAggregateUseDirect(QualType Ty, CCState &State, bool &InReg,
 1056   bool shouldPrimitiveUseInReg(QualType Ty, CCState &State) const;
 1058   bool canExpandIndirectArgument(QualType Ty) const;
 1066                            QualType Type) const;
 1074                     QualType Ty) const override;
 1237 bool X86_32ABIInfo::shouldReturnTypeInRegister(QualType Ty,
 1286 static bool is32Or64BitBasicType(QualType Ty, ASTContext &Context) {
 1339 bool X86_32ABIInfo::canExpandIndirectArgument(QualType Ty) const {
 1368 ABIArgInfo X86_32ABIInfo::getIndirectReturnResult(QualType RetTy, CCState &State) const {
 1379 ABIArgInfo X86_32ABIInfo::classifyReturnType(QualType RetTy,
 1464 static bool isSSEVectorType(ASTContext &Context, QualType Ty) {
 1468 static bool isRecordWithSSEVectorType(ASTContext &Context, QualType Ty) {
 1481     QualType FT = i->getType();
 1493 unsigned X86_32ABIInfo::getTypeStackAlignInBytes(QualType Ty,
 1514 ABIArgInfo X86_32ABIInfo::getIndirectResult(QualType Ty, bool ByVal,
 1538 X86_32ABIInfo::Class X86_32ABIInfo::classify(QualType Ty) const {
 1551 bool X86_32ABIInfo::updateFreeRegs(QualType Ty, CCState &State) const {
 1582 bool X86_32ABIInfo::shouldAggregateUseDirect(QualType Ty, CCState &State,
 1612 bool X86_32ABIInfo::shouldPrimitiveUseInReg(QualType Ty, CCState &State) const {
 1632 ABIArgInfo X86_32ABIInfo::classifyArgumentType(QualType Ty,
 1758     const QualType& Ty = I.type;
 1775     const QualType& Ty = I.type;
 1847                                    QualType Type) const {
 1937                                  Address VAListAddr, QualType Ty) const {
 2122   void classify(QualType T, uint64_t OffsetBase, Class &Lo, Class &Hi,
 2125   llvm::Type *GetByteVectorType(QualType Ty) const;
 2127                                  unsigned IROffset, QualType SourceTy,
 2130                                      unsigned IROffset, QualType SourceTy,
 2135   ABIArgInfo getIndirectReturnResult(QualType Ty) const;
 2142   ABIArgInfo getIndirectResult(QualType Ty, unsigned freeIntRegs) const;
 2144   ABIArgInfo classifyReturnType(QualType RetTy) const;
 2146   ABIArgInfo classifyArgumentType(QualType Ty, unsigned freeIntRegs,
 2150   ABIArgInfo classifyRegCallStructType(QualType Ty, unsigned &NeededInt,
 2153   ABIArgInfo classifyRegCallStructTypeImpl(QualType Ty, unsigned &NeededInt,
 2156   bool IsIllegalVectorType(QualType Ty) const;
 2205   bool isPassedUsingAVXType(QualType type) const {
 2221                     QualType Ty) const override;
 2223                       QualType Ty) const override;
 2248                     QualType Ty) const override;
 2250   bool isHomogeneousAggregateBaseType(QualType Ty) const override {
 2271   ABIArgInfo classify(QualType Ty, unsigned &FreeSSERegs, bool IsReturnType,
 2273   ABIArgInfo reclassifyHvaArgType(QualType Ty, unsigned &FreeSSERegs,
 2555 void X86_64ABIInfo::classify(QualType Ty, uint64_t OffsetBase,
 2650       QualType ElementType = VT->getElementType();
 2674       QualType ElementType = VT->getElementType();
 2703     QualType ET = getContext().getCanonicalType(CT->getElementType());
 2903 ABIArgInfo X86_64ABIInfo::getIndirectReturnResult(QualType Ty) const {
 2918 bool X86_64ABIInfo::IsIllegalVectorType(QualType Ty) const {
 2924     QualType EltTy = VecTy->getElementType();
 2934 ABIArgInfo X86_64ABIInfo::getIndirectResult(QualType Ty,
 2996 llvm::Type *X86_64ABIInfo::GetByteVectorType(QualType Ty) const {
 3037 static bool BitsContainNoUserData(QualType Ty, unsigned StartBit,
 3148                    QualType SourceTy, unsigned SourceOffset) const {
 3183                        QualType SourceTy, unsigned SourceOffset) const {
 3289 classifyReturnType(QualType RetTy) const {
 3417   QualType Ty, unsigned freeIntRegs, unsigned &neededInt, unsigned &neededSSE,
 3546 X86_64ABIInfo::classifyRegCallStructTypeImpl(QualType Ty, unsigned &NeededInt,
 3593 ABIArgInfo X86_64ABIInfo::classifyRegCallStructType(QualType Ty,
 3681                                          Address VAListAddr, QualType Ty) {
 3720                                  QualType Ty) const {
 3906                                    QualType Ty) const {
 3914 WinX86_64ABIInfo::reclassifyHvaArgType(QualType Ty, unsigned &FreeSSERegs,
 3928 ABIArgInfo WinX86_64ABIInfo::classify(QualType Ty, unsigned &FreeSSERegs,
 4107                                     QualType Ty) const {
 4130   CharUnits getParamTypeAlignment(QualType Ty) const;
 4137                     QualType Ty) const override;
 4155 CharUnits PPC32_SVR4_ABIInfo::getParamTypeAlignment(QualType Ty) const {
 4182                                       QualType Ty) const {
 4416   bool IsQPXVectorTy(QualType Ty) const {
 4426   bool isPromotableTypeForABI(QualType Ty) const;
 4427   CharUnits getParamTypeAlignment(QualType Ty) const;
 4429   ABIArgInfo classifyReturnType(QualType RetTy) const;
 4430   ABIArgInfo classifyArgumentType(QualType Ty) const;
 4432   bool isHomogeneousAggregateBaseType(QualType Ty) const override;
 4455           QualType QT(T, 0);
 4465                     QualType Ty) const override;
 4513 PPC64_SVR4_ABIInfo::isPromotableTypeForABI(QualType Ty) const {
 4538 CharUnits PPC64_SVR4_ABIInfo::getParamTypeAlignment(QualType Ty) const {
 4597 bool ABIInfo::isHomogeneousAggregate(QualType Ty, const Type *&Base,
 4630       QualType FT = FD->getType();
 4680         QualType EltTy = VT->getElementType();
 4696 bool PPC64_SVR4_ABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const {
 4732 PPC64_SVR4_ABIInfo::classifyArgumentType(QualType Ty) const {
 4803 PPC64_SVR4_ABIInfo::classifyReturnType(QualType RetTy) const {
 4859                                       QualType Ty) const {
 4994   ABIArgInfo classifyReturnType(QualType RetTy) const;
 4995   ABIArgInfo classifyArgumentType(QualType RetTy) const;
 4996   bool isHomogeneousAggregateBaseType(QualType Ty) const override;
 5000   bool isIllegalVectorType(QualType Ty) const;
 5010   Address EmitDarwinVAArg(Address VAListAddr, QualType Ty,
 5013   Address EmitAAPCSVAArg(Address VAListAddr, QualType Ty,
 5017                     QualType Ty) const override {
 5024                       QualType Ty) const override;
 5107 ABIArgInfo AArch64ABIInfo::classifyArgumentType(QualType Ty) const {
 5203 ABIArgInfo AArch64ABIInfo::classifyReturnType(QualType RetTy) const {
 5254 bool AArch64ABIInfo::isIllegalVectorType(QualType Ty) const {
 5278 bool AArch64ABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const {
 5300                                             QualType Ty,
 5545 Address AArch64ABIInfo::EmitDarwinVAArg(Address VAListAddr, QualType Ty,
 5580                                     QualType Ty) const {
 5640   ABIArgInfo classifyReturnType(QualType RetTy, bool isVariadic,
 5642   ABIArgInfo classifyArgumentType(QualType RetTy, bool isVariadic,
 5644   ABIArgInfo classifyHomogeneousAggregate(QualType Ty, const Type *Base,
 5646   ABIArgInfo coerceIllegalVector(QualType Ty) const;
 5647   bool isIllegalVectorType(QualType Ty) const;
 5648   bool containsAnyFP16Vectors(QualType Ty) const;
 5650   bool isHomogeneousAggregateBaseType(QualType Ty) const override;
 5659                     QualType Ty) const override;
 5826 ABIArgInfo ARMABIInfo::coerceIllegalVector(QualType Ty) const {
 5841 ABIArgInfo ARMABIInfo::classifyHomogeneousAggregate(QualType Ty,
 5859 ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty, bool isVariadic,
 5979 static bool isIntegerLikeType(QualType Ty, ASTContext &Context,
 6064 ABIArgInfo ARMABIInfo::classifyReturnType(QualType RetTy, bool isVariadic,
 6176 bool ARMABIInfo::isIllegalVectorType(QualType Ty) const {
 6210 bool ARMABIInfo::containsAnyFP16Vectors(QualType Ty) const {
 6254 bool ARMABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const {
 6286                               QualType Ty) const {
 6344   ABIArgInfo classifyReturnType(QualType RetTy) const;
 6345   ABIArgInfo classifyArgumentType(QualType Ty) const;
 6349                     QualType Ty) const override;
 6368 static bool isUnsupportedType(ASTContext &Context, QualType T) {
 6398 static ABIArgInfo coerceToIntArrayWithLimit(QualType Ty, ASTContext &Context,
 6410 ABIArgInfo NVPTXABIInfo::classifyReturnType(QualType RetTy) const {
 6431 ABIArgInfo NVPTXABIInfo::classifyArgumentType(QualType Ty) const {
 6458                                 QualType Ty) const {
 6548   bool isPromotableIntegerType(QualType Ty) const;
 6549   bool isCompoundType(QualType Ty) const;
 6550   bool isVectorArgumentType(QualType Ty) const;
 6551   bool isFPArgumentType(QualType Ty) const;
 6552   QualType GetSingleElementType(QualType Ty) const;
 6552   QualType GetSingleElementType(QualType Ty) const;
 6554   ABIArgInfo classifyReturnType(QualType RetTy) const;
 6555   ABIArgInfo classifyArgumentType(QualType ArgTy) const;
 6565                     QualType Ty) const override;
 6584 bool SystemZABIInfo::isPromotableIntegerType(QualType Ty) const {
 6605 bool SystemZABIInfo::isCompoundType(QualType Ty) const {
 6611 bool SystemZABIInfo::isVectorArgumentType(QualType Ty) const {
 6617 bool SystemZABIInfo::isFPArgumentType(QualType Ty) const {
 6630 QualType SystemZABIInfo::GetSingleElementType(QualType Ty) const {
 6630 QualType SystemZABIInfo::GetSingleElementType(QualType Ty) const {
 6633     QualType Found;
 6638         QualType Base = I.getType();
 6675                                   QualType Ty) const {
 6829 ABIArgInfo SystemZABIInfo::classifyReturnType(QualType RetTy) const {
 6840 ABIArgInfo SystemZABIInfo::classifyArgumentType(QualType Ty) const {
 6853   QualType SingleElementTy = GetSingleElementType(Ty);
 6938   llvm::Type* HandleAggregates(QualType Ty, uint64_t TySize) const;
 6939   llvm::Type* returnAggregateInRegs(QualType RetTy, uint64_t Size) const;
 6946   ABIArgInfo classifyReturnType(QualType RetTy) const;
 6947   ABIArgInfo classifyArgumentType(QualType RetTy, uint64_t &Offset) const;
 6950                     QualType Ty) const override;
 6951   ABIArgInfo extendType(QualType Ty) const;
 7040 llvm::Type* MipsABIInfo::HandleAggregates(QualType Ty, uint64_t TySize) const {
 7071     const QualType Ty = i->getType();
 7105 MipsABIInfo::classifyArgumentType(QualType Ty, uint64_t &Offset) const {
 7150 MipsABIInfo::returnAggregateInRegs(QualType RetTy, uint64_t Size) const {
 7191 ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const {
 7248                                QualType OrigTy) const {
 7249   QualType Ty = OrigTy;
 7298 ABIArgInfo MipsABIInfo::extendType(QualType Ty) const {
 7441   ABIArgInfo classifyReturnType(QualType RetTy) const;
 7442   ABIArgInfo classifyArgumentType(QualType RetTy) const;
 7447                     QualType Ty) const override;
 7469 ABIArgInfo HexagonABIInfo::classifyArgumentType(QualType Ty) const {
 7500 ABIArgInfo HexagonABIInfo::classifyReturnType(QualType RetTy) const {
 7538                                   QualType Ty) const {
 7555   bool shouldUseInReg(QualType Ty, CCState &State) const;
 7573   ABIArgInfo getIndirectResult(QualType Ty, bool ByVal, CCState &State) const;
 7574   ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State) const;
 7578 bool LanaiABIInfo::shouldUseInReg(QualType Ty, CCState &State) const {
 7595 ABIArgInfo LanaiABIInfo::getIndirectResult(QualType Ty, bool ByVal,
 7613 ABIArgInfo LanaiABIInfo::classifyArgumentType(QualType Ty,
 7682   unsigned numRegsForType(QualType Ty) const;
 7684   bool isHomogeneousAggregateBaseType(QualType Ty) const override;
 7692   ABIArgInfo classifyReturnType(QualType RetTy) const;
 7693   ABIArgInfo classifyKernelArgumentType(QualType Ty) const;
 7694   ABIArgInfo classifyArgumentType(QualType Ty, unsigned &NumRegsLeft) const;
 7698                     QualType Ty) const override;
 7701 bool AMDGPUABIInfo::isHomogeneousAggregateBaseType(QualType Ty) const {
 7714 unsigned AMDGPUABIInfo::numRegsForType(QualType Ty) const {
 7720     QualType EltTy = VT->getElementType();
 7736       QualType FieldTy = Field->getType();
 7763                                  QualType Ty) const {
 7767 ABIArgInfo AMDGPUABIInfo::classifyReturnType(QualType RetTy) const {
 7810 ABIArgInfo AMDGPUABIInfo::classifyKernelArgumentType(QualType Ty) const {
 7825 ABIArgInfo AMDGPUABIInfo::classifyArgumentType(QualType Ty,
 7898       llvm::PointerType *T, QualType QT) const override;
 8041     QualType QT) const {
 8127   ABIArgInfo classifyReturnType(QualType RetTy) const;
 8134 SparcV8ABIInfo::classifyReturnType(QualType Ty) const {
 8190   ABIArgInfo classifyType(QualType RetTy, unsigned SizeLimit) const;
 8193                     QualType Ty) const override;
 8304 SparcV9ABIInfo::classifyType(QualType Ty, unsigned SizeLimit) const {
 8352                                   QualType Ty) const {
 8470                     QualType Ty) const override;
 8472   void updateState(const ABIArgInfo &Info, QualType Ty, CCState &State) const {
 8500   ABIArgInfo getIndirectByRef(QualType Ty, bool HasFreeRegs) const;
 8501   ABIArgInfo getIndirectByValue(QualType Ty) const;
 8502   ABIArgInfo classifyArgumentType(QualType Ty, uint8_t FreeRegs) const;
 8503   ABIArgInfo classifyReturnType(QualType RetTy) const;
 8513 ABIArgInfo ARCABIInfo::getIndirectByRef(QualType Ty, bool HasFreeRegs) const {
 8518 ABIArgInfo ARCABIInfo::getIndirectByValue(QualType Ty) const {
 8527                               QualType Ty) const {
 8533 ABIArgInfo ARCABIInfo::classifyArgumentType(QualType Ty,
 8579 ABIArgInfo ARCABIInfo::classifyReturnType(QualType RetTy) const {
 8695                     QualType Ty) const override;
 8712                                 QualType Ty) const {
 9183   QualType QT = QType.getCanonicalType();
 9227     QualType QT = VD->getType().getCanonicalType();
 9254   bool detectFPCCEligibleStructHelper(QualType Ty, CharUnits CurOff,
 9268   ABIArgInfo classifyArgumentType(QualType Ty, bool IsFixed, int &ArgGPRsLeft,
 9270   ABIArgInfo classifyReturnType(QualType RetTy) const;
 9273                     QualType Ty) const override;
 9275   ABIArgInfo extendType(QualType Ty) const;
 9277   bool detectFPCCEligibleStruct(QualType Ty, llvm::Type *&Field1Ty,
 9289   QualType RetTy = FI.getReturnType();
 9322 bool RISCVABIInfo::detectFPCCEligibleStructHelper(QualType Ty, CharUnits CurOff,
 9359     QualType EltTy = CTy->getElementType();
 9372     QualType EltTy = ATy->getElementType();
 9399       QualType QTy = FD->getType();
 9434 bool RISCVABIInfo::detectFPCCEligibleStruct(QualType Ty, llvm::Type *&Field1Ty,
 9512 ABIArgInfo RISCVABIInfo::classifyArgumentType(QualType Ty, bool IsFixed,
 9542     QualType EltTy = Ty->castAs<ComplexType>()->getElementType();
 9621 ABIArgInfo RISCVABIInfo::classifyReturnType(QualType RetTy) const {
 9635                                 QualType Ty) const {
 9655 ABIArgInfo RISCVABIInfo::extendType(QualType Ty) const {
tools/clang/lib/CodeGen/TargetInfo.h
  237       llvm::PointerType *T, QualType QT) const;
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
  122   QualType ClassRec;
  827   QualType ArgTy = Arg->getType();
  828   QualType CallTy = Msg->getArg(0)->getType();
  945   QualType T = E->getType();
  993   QualType FinalTy = Arg->getType();
  994   QualType OrigTy = OrigArg->getType();
 1131   QualType OrigTy = OrigArg->getType();
 1143     QualType PointeeType = PT->getPointeeType();
tools/clang/lib/Frontend/ASTUnit.cpp
  401       QualType UsageType = getDeclUsageType(*Ctx, R.Declaration);
tools/clang/lib/Frontend/FrontendAction.cpp
   64   void TypeRead(serialization::TypeIdx Idx, QualType T) override {
tools/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
  279             auto VD = cast<ValueDecl>(E.first)->getType();
tools/clang/lib/Frontend/MultiplexConsumer.cpp
   47     serialization::TypeIdx Idx, QualType T) {
   92   void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) override;
  159                                                      QualType ReturnType) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  156     llvm::DenseMap<std::pair<const ObjCInterfaceDecl*, unsigned>, QualType> GroupRecordType;
  326     void RewriteTypeIntoString(QualType T, std::string &ResultStr,
  337     void RewriteBlockPointerType(std::string& Str, QualType Type);
  379     QualType GetGroupRecordTypeForObjCIvarBitfield(ObjCIvarDecl *IV);
  380     QualType SynthesizeBitfieldGroupStructType(
  385     void RewriteBlocksInFunctionProtoType(QualType funcType, NamedDecl *D);
  403     bool RewriteObjCFieldDeclType(QualType &Type, std::string &Result);
  418                                         QualType returnType,
  419                                         SmallVectorImpl<QualType> &ArgTypes,
  484     QualType getProtocolType();
  486     void CheckFunctionPointerDecl(QualType dType, NamedDecl *ND);
  499     bool isTopLevelBlockPointerType(QualType T) {
  506     bool convertBlockPointerToFunctionPointer(QualType &T) {
  515     bool convertObjCTypeToCStyleType(QualType &T);
  517     bool needToScanForQualifiers(QualType T);
  518     QualType getSuperStructType();
  519     QualType getConstantStringStructType();
  520     QualType convertFunctionTypeOfBlocks(const FunctionType *FT);
  522     void convertToUnqualifiedObjCType(QualType &T) {
  542     bool isObjCType(QualType T) {
  546       QualType OCT = Context->getCanonicalType(T).getUnqualifiedType();
  560     bool PointerTypeTakesAnyBlockArguments(QualType QT);
  561     bool PointerTypeTakesAnyObjCQualifiedType(QualType QT);
  574     QualType getSimpleFunctionType(QualType result,
  574     QualType getSimpleFunctionType(QualType result,
  575                                    ArrayRef<QualType> args,
  585     CStyleCastExpr* NoTypeInfoCStyleCastExpr(ASTContext *Ctx, QualType Ty,
  599       QualType StrType = Context->getConstantArrayType(
  608 void RewriteModernObjC::RewriteBlocksInFunctionProtoType(QualType funcType,
  612     for (const auto &I : fproto->param_types())
  621 void RewriteModernObjC::CheckFunctionPointerDecl(QualType funcType, NamedDecl *ND) {
  850   QualType IvarT = D->getType();
  868       QualType PtrStructIMPL = Context->getPointerType(Context->getTagDeclType(RD));
  889   QualType castT = Context->getPointerType(IvarT);
 1204 void RewriteModernObjC::RewriteTypeIntoString(QualType T, std::string &ResultStr,
 1212     QualType retType = T;
 1213     QualType PointeeTy;
 1270     QualType selfTy = Context->getObjCInterfaceType(IDecl);
 1296       QualType QT = PDecl->getType();
 1698     QualType ElementType = cast<ValueDecl>(D)->getType();
 1961       QualType t = catchDecl->getType();
 2094   QualType msgSendType = FD->getType();
 2101   QualType pToFunc = Context->getPointerType(msgSendType);
 2141 bool RewriteModernObjC::needToScanForQualifiers(QualType T) {
 2153     QualType ElemTy = Context->getBaseElementType(T);
 2160   QualType Type = E->getType();
 2191   QualType Type;
 2272   QualType QT = ND->getType();
 2310   SmallVector<QualType, 16> ArgTys;
 2312   QualType getFuncType =
 2331 void RewriteModernObjC::RewriteBlockPointerType(std::string& Str, QualType Type) {
 2347   QualType Type = VD->getType();
 2380   QualType Type = proto->getReturnType();
 2387     QualType ArgType = proto->getParamType(i);
 2405   SmallVector<QualType, 16> ArgTys;
 2406   QualType argT = Context->getObjCIdType();
 2410   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2422   SmallVector<QualType, 16> ArgTys;
 2423   QualType argT = Context->getObjCIdType();
 2429   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2441   SmallVector<QualType, 2> ArgTys;
 2443   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2455   SmallVector<QualType, 16> ArgTys;
 2456   QualType argT = Context->getObjCIdType();
 2462   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2476   SmallVector<QualType, 2> ArgTys;
 2478   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2491   SmallVector<QualType, 16> ArgTys;
 2492   QualType argT = Context->getObjCIdType();
 2498   QualType msgSendType = getSimpleFunctionType(Context->DoubleTy,
 2510   SmallVector<QualType, 16> ArgTys;
 2512   QualType getClassType = getSimpleFunctionType(Context->getObjCClassType(),
 2525   SmallVector<QualType, 16> ArgTys;
 2527   QualType getClassType = getSimpleFunctionType(Context->getObjCClassType(),
 2540   SmallVector<QualType, 16> ArgTys;
 2542   QualType getClassType = getSimpleFunctionType(Context->getObjCClassType(),
 2553   QualType strType = getConstantStringStructType();
 2651     QualType type = ICE->getType();
 2660   SmallVector<QualType, 4> ArgTypes;
 2666   QualType returnType = Exp->getType();
 2668   QualType msgSendType = MsgSendFlavor->getType();
 2678   QualType castType =
 2709   QualType IntQT = Context->IntTy;
 2710   QualType NSArrayFType =
 2740   QualType ConstIdT = Context->getObjCIdType().withConst();
 2750   QualType expType = Exp->getType();
 2781   SmallVector<QualType, 4> ArgTypes;
 2787   QualType returnType = Exp->getType();
 2789   QualType msgSendType = MsgSendFlavor->getType();
 2799   QualType castType =
 2830   QualType IntQT = Context->IntTy;
 2831   QualType NSDictFType =
 2869   QualType ConstIdT = Context->getObjCIdType().withConst();
 2892   QualType expType = Exp->getType();
 2925   SmallVector<QualType, 8> ArgTypes;
 2929     QualType T = PI->getType();
 2931       QualType PointeeTy = PT->getPointeeType();
 2938   QualType returnType = Exp->getType();
 2940   QualType msgSendType = MsgSendFlavor->getType();
 2950   QualType castType =
 2969 QualType RewriteModernObjC::getSuperStructType() {
 2974     QualType FieldTypes[2];
 2997 QualType RewriteModernObjC::getConstantStringStructType() {
 3002     QualType FieldTypes[4];
 3086                                                  QualType returnType,
 3087                                                  SmallVectorImpl<QualType> &ArgTypes,
 3091   QualType FuncType = getSimpleFunctionType(
 3093   QualType castType = Context->getPointerType(FuncType);
 3214     QualType resultType = mDecl->getReturnType();
 3264     QualType superType = getSuperStructType();
 3359     QualType superType = getSuperStructType();
 3429       QualType type = ICE->getType();
 3480   SmallVector<QualType, 8> ArgTypes;
 3481   QualType returnType;
 3492       QualType t = PI->getType()->isObjCQualifiedIdType()
 3506   QualType msgSendType = MsgSendFlavor->getType();
 3523   QualType castType =
 3564 QualType RewriteModernObjC::getProtocolType() {
 3627 bool RewriteModernObjC::RewriteObjCFieldDeclType(QualType &Type,
 3635     QualType ElemTy = Context->getBaseElementType(Type);
 3694   QualType Type = fieldDecl->getType();
 3724   QualType Type = fieldDecl->getType();
 3778 QualType RewriteModernObjC::SynthesizeBitfieldGroupStructType(
 3799 QualType RewriteModernObjC::GetGroupRecordTypeForObjCIvarBitfield(ObjCIvarDecl *IV) {
 3827   QualType RetQT = GroupRecordType[tuple];
 3911       QualType QT = GetGroupRecordTypeForObjCIvarBitfield(IV);
 4041   QualType RT = AFT->getReturnType();
 4069       QualType QT = (*AI)->getType();
 4117       QualType QT = (*I)->getType();
 4211         QualType QT = (*I)->getType();
 4504 bool RewriteModernObjC::convertObjCTypeToCStyleType(QualType &T) {
 4505   QualType oldT = T;
 4508     QualType PointeeTy;
 4526 QualType RewriteModernObjC::convertFunctionTypeOfBlocks(const FunctionType *FT) {
 4530   SmallVector<QualType, 8> ArgTypes;
 4531   QualType Res = FT->getReturnType();
 4536       QualType t = I;
 4543   QualType FuncType;
 4594   QualType PtrBlock = Context->getPointerType(Context->getTagDeclType(RD));
 4597   SmallVector<QualType, 8> ArgTypes;
 4603       QualType t = I;
 4611   QualType PtrToFuncCastType = getSimpleFunctionType(Exp->getType(), ArgTypes);
 4726   QualType QT = CE->getType();
 4757   QualType QT = IC->getType();
 4800 bool RewriteModernObjC::PointerTypeTakesAnyBlockArguments(QualType QT) {
 4811     for (const auto &I : FTP->param_types())
 4818 bool RewriteModernObjC::PointerTypeTakesAnyObjCQualifiedType(QualType QT) {
 4829     for (const auto &I : FTP->param_types()) {
 4869   QualType DeclT;
 5035   QualType Ty = ND->getType();
 5042   QualType T = Ty;
 5064     QualType Ty = ND->getType();
 5189   QualType FType = Context->getFunctionNoProtoType(Context->VoidPtrTy);
 5256   QualType BFT = convertFunctionTypeOfBlocks(Exp->getFunctionType());
 5257   QualType FType = Context->getPointerType(BFT);
 5310           QualType QT = (*I)->getType();
 5327           QualType QT = (*I)->getType();
 5350       QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
 6808       QualType IVQT = IvarDecl->getType();
 7491       QualType IvarT = D->getType();
 7510           QualType PtrStructIMPL = Context->getPointerType(Context->getTagDeclType(RD));
 7531       QualType castT = Context->getPointerType(IvarT);
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  274     void RewriteTypeIntoString(QualType T, std::string &ResultStr,
  285     void RewriteBlockPointerType(std::string& Str, QualType Type);
  313     void RewriteBlocksInFunctionProtoType(QualType funcType, NamedDecl *D);
  354                                         QualType msgSendType,
  355                                         QualType returnType,
  356                                         SmallVectorImpl<QualType> &ArgTypes,
  394     QualType getProtocolType();
  397     void CheckFunctionPointerDecl(QualType dType, NamedDecl *ND);
  410     bool isTopLevelBlockPointerType(QualType T) {
  417     bool convertBlockPointerToFunctionPointer(QualType &T) {
  426     bool needToScanForQualifiers(QualType T);
  427     QualType getSuperStructType();
  428     QualType getConstantStringStructType();
  429     QualType convertFunctionTypeOfBlocks(const FunctionType *FT);
  432     void convertToUnqualifiedObjCType(QualType &T) {
  449     bool isObjCType(QualType T) {
  453       QualType OCT = Context->getCanonicalType(T).getUnqualifiedType();
  466     bool PointerTypeTakesAnyBlockArguments(QualType QT);
  467     bool PointerTypeTakesAnyObjCQualifiedType(QualType QT);
  480     QualType getSimpleFunctionType(QualType result,
  480     QualType getSimpleFunctionType(QualType result,
  481                                    ArrayRef<QualType> args,
  491     CStyleCastExpr* NoTypeInfoCStyleCastExpr(ASTContext *Ctx, QualType Ty,
  499       QualType StrType = Context->getConstantArrayType(
  544 void RewriteObjC::RewriteBlocksInFunctionProtoType(QualType funcType,
  548     for (const auto &I : fproto->param_types())
  557 void RewriteObjC::CheckFunctionPointerDecl(QualType funcType, NamedDecl *ND) {
 1036 void RewriteObjC::RewriteTypeIntoString(QualType T, std::string &ResultStr,
 1044     QualType retType = T;
 1045     QualType PointeeTy;
 1102     QualType selfTy = Context->getObjCInterfaceType(IDecl);
 1128       QualType QT = PDecl->getType();
 1489     QualType ElementType = cast<ValueDecl>(D)->getType();
 1851       QualType t = catchDecl->getType();
 2009   QualType msgSendType = FD->getType();
 2016   QualType pToFunc = Context->getPointerType(msgSendType);
 2057 bool RewriteObjC::needToScanForQualifiers(QualType T) {
 2069     QualType ElemTy = Context->getBaseElementType(T);
 2076   QualType Type = E->getType();
 2107   QualType Type;
 2184   QualType QT = ND->getType();
 2222   SmallVector<QualType, 16> ArgTys;
 2224   QualType getFuncType =
 2243 void RewriteObjC::RewriteBlockPointerType(std::string& Str, QualType Type) {
 2259   QualType Type = VD->getType();
 2292   QualType Type = proto->getReturnType();
 2299     QualType ArgType = proto->getParamType(i);
 2314   SmallVector<QualType, 16> ArgTys;
 2315   QualType argT = Context->getObjCIdType();
 2319   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2331   SmallVector<QualType, 16> ArgTys;
 2332   QualType argT = Context->getObjCIdType();
 2338   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2350   SmallVector<QualType, 16> ArgTys;
 2354   QualType argT = Context->getPointerType(Context->getTagDeclType(RD));
 2360   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2372   SmallVector<QualType, 16> ArgTys;
 2373   QualType argT = Context->getObjCIdType();
 2379   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2393   SmallVector<QualType, 16> ArgTys;
 2397   QualType argT = Context->getPointerType(Context->getTagDeclType(RD));
 2403   QualType msgSendType = getSimpleFunctionType(Context->getObjCIdType(),
 2416   SmallVector<QualType, 16> ArgTys;
 2417   QualType argT = Context->getObjCIdType();
 2423   QualType msgSendType = getSimpleFunctionType(Context->DoubleTy,
 2435   SmallVector<QualType, 16> ArgTys;
 2437   QualType getClassType = getSimpleFunctionType(Context->getObjCIdType(),
 2450   SmallVector<QualType, 16> ArgTys;
 2452   QualType getClassType = getSimpleFunctionType(Context->getObjCClassType(),
 2465   SmallVector<QualType, 16> ArgTys;
 2467   QualType getClassType = getSimpleFunctionType(Context->getObjCIdType(),
 2478   QualType strType = getConstantStringStructType();
 2522 QualType RewriteObjC::getSuperStructType() {
 2527     QualType FieldTypes[2];
 2550 QualType RewriteObjC::getConstantStringStructType() {
 2555     QualType FieldTypes[4];
 2584                                                 QualType msgSendType,
 2585                                                 QualType returnType,
 2586                                                 SmallVectorImpl<QualType> &ArgTypes,
 2598   QualType castType = getSimpleFunctionType(returnType, ArgTypes,
 2641     QualType resultType = mDecl->getReturnType();
 2693     QualType superType = getSuperStructType();
 2788     QualType superType = getSuperStructType();
 2858       QualType type = ICE->getType();
 2909   SmallVector<QualType, 8> ArgTypes;
 2910   QualType returnType;
 2921       QualType t = PI->getType()->isObjCQualifiedIdType()
 2935   QualType msgSendType = MsgSendFlavor->getType();
 2952   QualType castType =
 3021 QualType RewriteObjC::getProtocolType() {
 3255   QualType RT = AFT->getReturnType();
 3279       QualType QT = (*AI)->getType();
 3327       QualType QT = (*I)->getType();
 3421         QualType QT = (*I)->getType();
 3692 QualType RewriteObjC::convertFunctionTypeOfBlocks(const FunctionType *FT) {
 3696   SmallVector<QualType, 8> ArgTypes;
 3697   QualType Res = FT->getReturnType();
 3702       QualType t = I;
 3709   QualType FuncType;
 3762   QualType PtrBlock = Context->getPointerType(Context->getTagDeclType(RD));
 3765   SmallVector<QualType, 8> ArgTypes;
 3771       QualType t = I;
 3779   QualType PtrToFuncCastType = getSimpleFunctionType(Exp->getType(), ArgTypes);
 3895   QualType QT = CE->getType();
 3954 bool RewriteObjC::PointerTypeTakesAnyBlockArguments(QualType QT) {
 3965     for (const auto &I : FTP->param_types())
 3972 bool RewriteObjC::PointerTypeTakesAnyObjCQualifiedType(QualType QT) {
 3983     for (const auto &I : FTP->param_types()) {
 4023   QualType DeclT;
 4192   QualType Ty = ND->getType();
 4199   QualType T = Ty;
 4221     QualType Ty = ND->getType();
 4343   QualType FType = Context->getFunctionNoProtoType(Context->VoidPtrTy);
 4402   QualType BFT = convertFunctionTypeOfBlocks(Exp->getFunctionType());
 4403   QualType FType = Context->getPointerType(BFT);
 4448           QualType QT = (*I)->getType();
 4465           QualType QT = (*I)->getType();
 4487       QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
 5823       QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
 5863       QualType castT = Context->getPointerType(Context->getTagDeclType(RD));
tools/clang/lib/Index/IndexBody.cpp
  100               auto BaseTy = ME->getBase()->IgnoreImpCasts()->getType();
  275         QualType recT = E->getReceiverType();
tools/clang/lib/Index/USRGeneration.cpp
  163   void VisitType(QualType T);
  630 void USRGenerator::VisitType(QualType T) {
  804       for (const auto &I : FT->param_types()) {
 1116 bool clang::index::generateUSRForType(QualType T, ASTContext &Ctx,
tools/clang/lib/Parse/ParseDecl.cpp
 2405       QualType PreferredType = Actions.ProduceConstructorSignatureHelp(
tools/clang/lib/Parse/ParseDeclCXX.cpp
 3552       QualType PreferredType = Actions.ProduceCtorInitMemberSignatureHelp(
tools/clang/lib/Parse/ParseExpr.cpp
 1494       QualType Ty = PostfixExpr->getType();
 1683         QualType PreferredType = Actions.ProduceCallSignatureHelp(
 2550           QualType QT = Ty.get().get().getCanonicalType();
tools/clang/lib/Parse/ParseExprCXX.cpp
 1851       QualType PreferredType = Actions.ProduceConstructorSignatureHelp(
 3027         QualType PreferredType = Actions.ProduceConstructorSignatureHelp(
tools/clang/lib/Parse/ParseObjc.cpp
 1629       QualType BaseT = Actions.GetTypeFromParser(baseType);
tools/clang/lib/Parse/ParseOpenMP.cpp
  266   SmallVector<std::pair<QualType, SourceLocation>, 8> ReductionTypes;
  274       QualType ReductionType =
  439       QualType PreferredType = Actions.ProduceConstructorSignatureHelp(
  527   QualType MapperType;
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  302         QualType Caught = Catch->getCaughtType();
  637                                     QualType BlockType,
  755   QualType VariableTy = VD->getType().getCanonicalType();
 2022                                      const Decl *D, QualType BlockType) {
tools/clang/lib/Sema/DeclSpec.cpp
  379       QualType QT = DS.getRepAsType().get();
tools/clang/lib/Sema/JumpDiagnostics.cpp
  151       case QualType::DK_objc_strong_lifetime:
  155       case QualType::DK_objc_weak_lifetime:
  159       case QualType::DK_nontrivial_c_struct:
  163       case QualType::DK_cxx_destructor:
  167       case QualType::DK_none:
  246   QualType T = D->getType();
  247   QualType::DestructionKind destructKind = T.isDestructedType();
  248   if (destructKind != QualType::DK_none) {
  251       case QualType::DK_cxx_destructor:
  255       case QualType::DK_objc_strong_lifetime:
  259       case QualType::DK_objc_weak_lifetime:
  263       case QualType::DK_nontrivial_c_struct:
  267       case QualType::DK_none:
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  331     SourceLocation Loc, QualType T) {
tools/clang/lib/Sema/Sema.cpp
  192 void Sema::addImplicitTypedef(StringRef Name, QualType T) {
  283       auto AtomicLongT = Context.getAtomicType(Context.LongTy);
  285       auto AtomicULongT = Context.getAtomicType(Context.UnsignedLongTy);
  289       auto AtomicDoubleT = Context.getAtomicType(Context.DoubleTy);
  294       auto AtomicIntPtrT = Context.getAtomicType(Context.getIntPtrType());
  296       auto AtomicUIntPtrT = Context.getAtomicType(Context.getUIntPtrType());
  298       auto AtomicSizeT = Context.getAtomicType(Context.getSizeType());
  300       auto AtomicPtrDiffT = Context.getAtomicType(Context.getPointerDiffType());
  314       std::vector<QualType> Atomic64BitTypes;
  324       for (auto &I : Atomic64BitTypes)
  461 void Sema::diagnoseNullableToNonnullConversion(QualType DstType,
  462                                                QualType SrcType,
  503 ExprResult Sema::ImpCastExprToType(Expr *E, QualType Ty,
  529   QualType ExprTy = Context.getCanonicalType(E->getType());
  530   QualType TypeTy = Context.getCanonicalType(Ty);
  560 CastKind Sema::ScalarTypeToBooleanCastKind(QualType ScalarTy) {
 1122       QualType T = Context.getConstantArrayType(ArrayT->getElementType(), One,
 1667   QualType T = VD->getType();
 1706       QualType CapType = BC.getVariable()->getType();
 1738                            const Decl *D, QualType BlockType) {
 1930 bool Sema::tryExprAsCall(Expr &E, QualType &ZeroArgCallReturnTy,
 2008   QualType ExprTy = E.getType();
 2010   QualType PointeeTy = ExprTy->getPointeeType();
 2068                                    bool (*IsPlausibleResult)(QualType)) {
 2076     QualType OverloadResultTy = OverloadDecl->getReturnType();
 2112                                 bool (*IsPlausibleResult)(QualType)) {
 2116   QualType ZeroArgCallTy;
 2186 void Sema::setOpenCLExtensionForType(QualType T, llvm::StringRef ExtStr) {
 2205 void Sema::setCurrentOpenCLExtensionForType(QualType T) {
 2258                                          DiagInfoT DiagInfo, MapT &Map,
 2275 bool Sema::checkOpenCLDisabledTypeDeclSpec(const DeclSpec &DS, QualType QT) {
tools/clang/lib/Sema/SemaAccess.cpp
  158                QualType BaseObjectType)
  300       QualType T = I.getType();
  653       QualType T = I.getType();
 1505     QualType BaseObjectType = DD.getAccessBaseObjectType();
 1552   QualType BaseType = E->getBaseType();
 1567                                                 QualType objectType) {
 1589                                                QualType ObjectTy) {
 1824                                               QualType Base,
 1825                                               QualType Derived,
 1892                               QualType BaseType) {
tools/clang/lib/Sema/SemaAttr.cpp
  139   QualType Canonical = TD->getUnderlyingType().getCanonicalType();
tools/clang/lib/Sema/SemaCUDA.cpp
   47   QualType ConfigQTy = ConfigDecl->getType();
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
   27 static CXXRecordDecl *getCurrentInstantiationOf(QualType T,
   53 DeclContext *Sema::computeDeclContext(QualType T) {
  102           QualType ContextType
  108           QualType Injected
  186   QualType T = QualType(NNS->getAsType(), 0);
  212   QualType type = Context.getTypeDeclType(tag);
  330   QualType T = Context.getTypeDeclType(cast<TypeDecl>(SD));
  385   QualType ObjectType = GetTypeFromParser(IdInfo.ObjectType);
  494   QualType ObjectType = GetTypeFromParser(IdInfo.ObjectType);
  723     QualType T =
  854   QualType T = BuildDecltypeType(DS.getRepAsExpr(), DS.getTypeSpecTypeLoc());
  912     QualType T = Context.getDependentTemplateSpecializationType(ETK_None,
  956   QualType T = CheckTemplateIdType(Template, TemplateNameLoc, TemplateArgs);
tools/clang/lib/Sema/SemaCast.cpp
   56     CastOperation(Sema &S, QualType destType, ExprResult src)
   72     QualType DestType;
   73     QualType ResultType;
  135     void checkAddressSpaceCast(QualType SrcType, QualType DestType);
  135     void checkAddressSpaceCast(QualType SrcType, QualType DestType);
  165                              QualType DestType);
  179                                            QualType DestType, bool CStyle,
  184                                                QualType DestType, bool CStyle,
  189 static TryCastResult TryStaticPointerDowncast(Sema &Self, QualType SrcType,
  190                                               QualType DestType, bool CStyle,
  198                                        QualType OrigSrcType,
  199                                        QualType OrigDestType, unsigned &msg,
  203                                                QualType SrcType,
  204                                                QualType DestType,bool CStyle,
  211                                            QualType DestType,
  217                                    QualType DestType,
  224                                   QualType DestType, bool CStyle,
  227                                         QualType DestType, bool CStyle,
  262   QualType DestType = DestTInfo->getType();
  371                                       QualType destType,
  387   QualType srcType = src->getType();
  446                             SourceRange opRange, Expr *src, QualType destType,
  458   QualType From = destType;
  463   QualType To = src->getType();
  514 unwrapCastAwayConstnessLevel(ASTContext &Context, QualType &T1, QualType &T2) {
  514 unwrapCastAwayConstnessLevel(ASTContext &Context, QualType &T1, QualType &T2) {
  592 CastsAwayConstness(Sema &Self, QualType SrcType, QualType DestType,
  592 CastsAwayConstness(Sema &Self, QualType SrcType, QualType DestType,
  594                    QualType *TheOffendingSrcType = nullptr,
  595                    QualType *TheOffendingDestType = nullptr,
  611   QualType UnwrappedSrcType = Self.Context.getCanonicalType(SrcType),
  617   QualType PrevUnwrappedSrcType = UnwrappedSrcType;
  618   QualType PrevUnwrappedDestType = UnwrappedDestType;
  718   QualType OrigSrcType = SrcExpr.get()->getType();
  719   QualType DestType = Self.Context.getCanonicalType(this->DestType);
  724   QualType DestPointee;
  759   QualType SrcType = Self.Context.getCanonicalType(OrigSrcType);
  760   QualType SrcPointee;
  884                                           QualType DestType,
  886   QualType SrcType = SrcExpr->getType();
  960   QualType BaseType =
  962   QualType DerivedType =
 1082 static bool IsAddressSpaceConversion(QualType SrcType, QualType DestType) {
 1082 static bool IsAddressSpaceConversion(QualType SrcType, QualType DestType) {
 1097                                    QualType DestType,
 1156   QualType SrcType = Self.Context.getCanonicalType(SrcExpr.get()->getType());
 1213     QualType SrcPointee = SrcPointer->getPointeeType();
 1216         QualType DestPointee = DestPointer->getPointeeType();
 1288                                     QualType DestType, bool CStyle,
 1308   QualType FromType = SrcExpr->getType();
 1309   QualType ToType = R->getPointeeType();
 1346 TryStaticReferenceDowncast(Sema &Self, Expr *SrcExpr, QualType DestType,
 1370   QualType DestPointee = DestReference->getPointeeType();
 1384 TryStaticPointerDowncast(Sema &Self, QualType SrcType, QualType DestType,
 1384 TryStaticPointerDowncast(Sema &Self, QualType SrcType, QualType DestType,
 1419                   bool CStyle, SourceRange OpRange, QualType OrigSrcType,
 1420                   QualType OrigDestType, unsigned &msg,
 1494     QualType VirtualBase(Paths.getDetectedVirtual(), 0);
 1530 TryStaticMemberPointerUpcast(Sema &Self, ExprResult &SrcExpr, QualType SrcType,
 1531                              QualType DestType, bool CStyle,
 1571   QualType SrcClass(SrcMemPtr->getClass(), 0);
 1572   QualType DestClass(DestMemPtr->getClass(), 0);
 1648 TryStaticImplicitCast(Sema &Self, ExprResult &SrcExpr, QualType DestType,
 1704                                   QualType DestType, bool CStyle,
 1707   QualType SrcType = SrcExpr.get()->getType();
 1806 void Sema::CheckCompatibleReinterpretCast(QualType SrcType, QualType DestType,
 1806 void Sema::CheckCompatibleReinterpretCast(QualType SrcType, QualType DestType,
 1816   QualType SrcTy, DestTy;
 1857                                   QualType DestType) {
 1858   QualType SrcType = SrcExpr.get()->getType();
 1863       QualType DT = DestType;
 1876                                     QualType DstType, SourceRange OpRange) {
 1879   QualType SrcType = SrcExpr.get()->getType();
 1964                                   const Expr *SrcExpr, QualType DestType,
 1966   QualType SrcType = SrcExpr->getType();
 1989 static bool fixOverloadedReinterpretCastExpr(Sema &Self, QualType DestType,
 2017                                         QualType DestType, bool CStyle,
 2024   QualType SrcType = SrcExpr.get()->getType();
 2322                                          QualType DestType, bool CStyle,
 2331   auto SrcType = SrcExpr.get()->getType();
 2338   auto SrcPointeeType = SrcPtrType->getPointeeType();
 2339   auto DestPointeeType = DestPtrType->getPointeeType();
 2346   auto SrcPointeeTypeWithoutAS =
 2348   auto DestPointeeTypeWithoutAS =
 2356 void CastOperation::checkAddressSpaceCast(QualType SrcType, QualType DestType) {
 2356 void CastOperation::checkAddressSpaceCast(QualType SrcType, QualType DestType) {
 2378       QualType DestPPointee = DestPPtr->getPointeeType();
 2379       QualType SrcPPointee = SrcPPtr->getPointeeType();
 2547                                   QualType DestType) {
 2555   QualType SrcType = SrcExpr.get()->getType();
 2617   QualType SrcType = SrcExpr.get()->getType();
 2802   QualType SrcType = SrcExpr.get()->getType();
 2845                              QualType DestType) {
 2849   QualType SrcType = SrcExpr.get()->getType();
 2854   QualType TheOffendingSrcType, TheOffendingDestType;
 2907                                             QualType Type,
tools/clang/lib/Sema/SemaChecking.cpp
  136   QualType Ty = ValArg->getType();
  185   QualType ResultType = S.CheckAddressOfOperand(Arg, TheCall->getBeginLoc());
  211     QualType Ty = Arg.get()->getType();
  230     QualType Ty = Arg.get()->getType();
  294   QualType ReturnTy = CE->getCallReturnType(S.Context);
  295   QualType ArgTys[2] = { ReturnTy, ChainResult.get()->getType() };
  296   QualType BuiltinTy = S.Context.getFunctionType(
  298   QualType BuiltinPtrTy = S.Context.getPointerType(BuiltinTy);
  486   ArrayRef<QualType> Params =
  492   for (ArrayRef<QualType>::iterator I = Params.begin(), E = Params.end();
  567                                       const QualType &IntType);
  808   const QualType EltTy = PipeTy->getElementType();
  961   auto RT = Call->getArg(0)->getType();
 1006   QualType ParamTy = [&]() {
 1007     QualType ArgTy = TheCall->getArg(0)->getType();
 1378     const QualType PtrArgType = PtrArg->getType();
 1389     const QualType FnPtrArgType = FnPtrArg->getType();
 1414       QualType PT = FT->getParamType(0);
 1616 static QualType getNeonEltType(NeonTypeFlags Flags, ASTContext &Context,
 1684     QualType RHSTy = RHS.get()->getType();
 1691     QualType EltTy =
 1695     QualType LHSTy = Context.getPointerType(EltTy);
 1770   QualType ValType = pointerType->getPointeeType();
 1771   QualType AddrType = ValType.getUnqualifiedType().withVolatile();
 4197 static bool isNonNullType(ASTContext &ctx, QualType type) {
 4264         QualType type = VD->getType().getNonReferenceType();
 4280       for (auto paramType : Proto->getParamTypes()) {
 4441   QualType Ty;
 4701   QualType AtomTy = pointerType->getPointeeType(); // 'A'
 4702   QualType ValType = AtomTy; // 'C'
 4791   QualType ResultType = ValType;
 4800   QualType ByValType = ValType; // 'CP'
 4850     QualType Ty;
 5056   QualType ValType = pointerType->getPointeeType();
 5089   QualType ResultType = ValType;
 5372   QualType CalleePtrTy = Context.getPointerType(NewBuiltinDecl->getType());
 5427   QualType ValType = pointerType->getPointeeType();
 5507   QualType ResultTy = Context.getPointerType(Context.CharTy.withConst());
 5629   QualType Type;
 5697   const QualType &ConstCharPtrTy =
 5707   const QualType SizeTy = Context.getSizeType();
 5736   QualType Res = UsualArithmeticConversions(OrigArg0, OrigArg1, false);
 5839   QualType Arg1Ty = TheCall->getArg(0)->getType();
 5840   QualType Arg2Ty = TheCall->getArg(1)->getType();
 5880   QualType resType = TheCall->getArg(0)->getType();
 5885     QualType LHSType = TheCall->getArg(0)->getType();
 5886     QualType RHSType = TheCall->getArg(1)->getType();
 5916       QualType eltType = LHSType->castAs<VectorType>()->getElementType();
 5961   QualType DstTy = TInfo->getType();
 5962   QualType SrcTy = E->getType();
 6354     QualType FirstArgType = FirstArg.get()->getType();
 6363     QualType SecArgType = SecArg.get()->getType();
 6381     QualType FirstArgType = FirstArg.get()->getType();
 6403     QualType FirstArgType = FirstArg.get()->getType();
 6408     QualType SecArgType = Arg1->getType();
 6425     QualType FirstArgType = FirstArg.get()->getType();
 6447     QualType ArgTypeA = ArgExprA.get()->getType();
 6448     QualType ArgTypeB = ArgExprB.get()->getType();
 6466       QualType pointeeA = ArgTypeA->getPointeeType();
 6467       QualType pointeeB = ArgTypeB->getPointeeType();
 6751   QualType getType() const { return FExpr->getType(); }
 6891       QualType T = DR->getType();
 7788       QualType T = Arg->getType();
 7900 CXXRecordMembersNamed(StringRef Name, Sema &S, QualType Ty) {
 8210 static std::pair<QualType, StringRef>
 8212                        QualType IntendedTy,
 8215   QualType TyTy = IntendedTy;
 8218     QualType CastTy = llvm::StringSwitch<QualType>(Name)
 8243     QualType TrueTy, FalseTy;
 8271   QualType From = ICE->getSubExpr()->getType();
 8272   QualType To = ICE->getType();
 8304   QualType ExprTy = E->getType();
 8373   QualType IntendedTy = ExprTy;
 8405     QualType CastTy;
 8912 static QualType getAbsoluteValueArgumentType(ASTContext &Context,
 8918   QualType BuiltinType = Context.GetBuiltinType(AbsType, Error);
 8934 static unsigned getBestAbsFunction(ASTContext &Context, QualType ArgType,
 8940     QualType ParamType = getAbsoluteValueArgumentType(Context, Kind);
 8959 static AbsoluteValueKind getAbsoluteValueKind(QualType T) {
 9070                             unsigned AbsKind, QualType ArgType) {
 9105         QualType ParamType = FDecl->getParamDecl(0)->getType();
 9175   QualType ArgType = Call->getArg(0)->IgnoreParenImpCasts()->getType();
 9176   QualType ParamType = Call->getArg(0)->getType();
 9263   QualType ArgType = TA.getAsType();
 9343 static const CXXRecordDecl *getContainedDynamicClass(QualType T,
 9389 static QualType getSizeOfArgType(const Expr *E) {
 9404   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
 9404   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType FT,
 9414   void visitARCStrong(QualType FT, SourceLocation SL) {
 9417   void visitARCWeak(QualType FT, SourceLocation SL) {
 9420   void visitStruct(QualType FT, SourceLocation SL) {
 9424   void visitArray(QualType::PrimitiveDefaultInitializeKind PDIK,
 9428   void visitTrivial(QualType FT, SourceLocation SL) {}
 9430   static void diag(QualType RT, const Expr *E, Sema &S) {
 9446   void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
 9446   void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType FT,
 9456   void visitARCStrong(QualType FT, SourceLocation SL) {
 9459   void visitARCWeak(QualType FT, SourceLocation SL) {
 9462   void visitStruct(QualType FT, SourceLocation SL) {
 9466   void visitArray(QualType::PrimitiveCopyKind PCK, const ArrayType *AT,
 9470   void preVisit(QualType::PrimitiveCopyKind PCK, QualType FT,
 9470   void preVisit(QualType::PrimitiveCopyKind PCK, QualType FT,
 9472   void visitTrivial(QualType FT, SourceLocation SL) {}
 9473   void visitVolatileTrivial(QualType FT, SourceLocation SL) {}
 9475   static void diag(QualType RT, const Expr *E, Sema &S) {
 9603   QualType SizeOfArgTy = getSizeOfArgType(LenExpr);
 9610   QualType FirstArgTy = Call->getArg(0)->IgnoreParenImpCasts()->getType();
 9618     QualType DestTy = Dest->getType();
 9619     QualType PointeeTy;
 9790 static bool isConstantSizeArrayWithMoreThanOneElement(QualType Ty,
 9946   QualType DstTy = DstArg->getType();
 9976 Sema::CheckReturnValExpr(Expr *RetValExp, QualType lhsType,
10072   static IntRange forValueOfType(ASTContext &C, QualType T) {
10169 static IntRange GetValueRange(ASTContext &C, APValue &result, QualType Ty,
10198 static QualType GetExprType(const Expr *E) {
10199   QualType Ty = E->getType();
10682   QualType OtherT = Other->getType();
10783   QualType T = E->getLHS()->getType();
10904   QualType BitfieldType = Bitfield->getType();
11053 static void DiagnoseImpCast(Sema &S, Expr *E, QualType SourceType, QualType T,
11053 static void DiagnoseImpCast(Sema &S, Expr *E, QualType SourceType, QualType T,
11068 static void DiagnoseImpCast(Sema &S, Expr *E, QualType T,
11074 static bool isObjCSignedCharBool(Sema &S, QualType Ty) {
11095 static void DiagnoseFloatingImpCast(Sema &S, Expr *E, QualType T,
11298 static void DiagnoseNullConversion(Sema &S, Expr *E, QualType T,
11345 static void checkObjCArrayLiteral(Sema &S, QualType TargetType,
11349 checkObjCDictionaryLiteral(Sema &S, QualType TargetType,
11355                                               QualType TargetElementType,
11365   QualType ElementType = Element->getType();
11385 static void checkObjCArrayLiteral(Sema &S, QualType TargetType,
11403   QualType TargetElementType = TypeArgs[0];
11414 checkObjCDictionaryLiteral(Sema &S, QualType TargetType,
11432   QualType TargetKeyType = TypeArgs[0];
11433   QualType TargetObjectType = TypeArgs[1];
11443 static bool isSameWidthConstantConversion(Sema &S, Expr *E, QualType T,
11481   QualType LHSStrippedType = LHS->IgnoreParenImpCasts()->getType();
11482   QualType RHSStrippedType = RHS->IgnoreParenImpCasts()->getType();
11542 static void CheckImplicitConversion(Sema &S, Expr *E, QualType T,
11951   QualType SourceType = E->getType();
11975                                      SourceLocation CC, QualType T);
11977 static void CheckConditionalOperand(Sema &S, Expr *E, QualType T,
11990                                      SourceLocation CC, QualType T) {
12037   QualType T = OrigE->getType();
12154 static bool checkOpenCLEnqueueIntType(Sema &S, Expr *E, const QualType &IntT) {
12334   QualType T = D->getType();
12378   QualType ReturnType;
13010 static void diagnoseArrayStarInParamType(Sema &S, QualType PType,
13073     QualType PType = Param->getOriginalType();
13134 void Sema::CheckCastAlign(Expr *Op, QualType T, SourceRange TRange) {
13149   QualType DestPointee = DestPtr->getPointeeType();
13157   QualType SrcPointee = SrcPtr->getPointeeType();
13931                               QualType LHS, Expr *RHS) {
13945   QualType LHSType;
14215 static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2);
14215 static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2);
14331 static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2) {
14331 static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2) {
14505                                       uint64_t MagicValue, QualType Type,
14517 static bool IsSameCharType(QualType T1, QualType T2) {
14517 static bool IsSameCharType(QualType T1, QualType T2) {
14576   QualType ArgumentType = ArgumentExpr->getType();
14595   QualType RequiredType = TypeInfo.Type;
14684     QualType BaseType = ME->getBase()->getType();
tools/clang/lib/Sema/SemaCodeComplete.cpp
  240   void setPreferredType(QualType T) {
  396     SourceLocation Tok, llvm::function_ref<QualType()> ComputeType) {
  409 static QualType getPreferredTypeOfBinaryRHS(Sema &S, Expr *LHS,
  414   QualType LHSType = LHS->getType();
  488 static QualType getPreferredTypeOfUnaryArg(Sema &S, QualType ContextType,
  488 static QualType getPreferredTypeOfUnaryArg(Sema &S, QualType ContextType,
  554                                          QualType CastType) {
  880 QualType clang::getDeclUsageType(ASTContext &C, const NamedDecl *ND) {
  888   QualType T;
  996     QualType T = getDeclUsageType(SemaRef.Context, R.Declaration);
 1013   QualType RecordTy = Context.getTypeDeclType(Record);
 1500 static bool isObjCReceiverType(ASTContext &C, QualType T) {
 1534   QualType T = getDeclUsageType(SemaRef.Context, ND);
 1559   QualType T = getDeclUsageType(SemaRef.Context, ND);
 1589   QualType BaseType;
 1595       QualType BaseType = QualType(),
 1602       auto ThisType = Results.getSema().getCurrentThisType();
 1631     QualType BaseType = this->BaseType;
 1872 static const char *GetCompletionTypeString(QualType T, ASTContext &Context,
 1907   QualType ThisTy = S.getCurrentThisType();
 2297     QualType ReturnType;
 2591                                const NamedDecl *ND, QualType BaseType,
 2602   QualType T;
 2651                                              QualType &Type) {
 2737                        Optional<ArrayRef<QualType>> ObjCSubsts = None);
 2742                         Optional<ArrayRef<QualType>> ObjCSubsts = None) {
 2758     QualType Type = Param->getType();
 2797     QualType Type = Param->getType().getUnqualifiedType();
 2836                        Optional<ArrayRef<QualType>> ObjCSubsts) {
 2838   QualType ResultType = Block.getTypePtr()->getReturnType();
 3172     QualType Ty = Name.getCXXNameType();
 3474       QualType ParamType = (*P)->getType();
 3475       Optional<ArrayRef<QualType>> ObjCSubsts;
 4100   auto ThisType = getCurrentThisType();
 4219   CodeCompleteExpressionData(QualType PreferredType = QualType(),
 4224   QualType PreferredType;
 4263 static const FunctionProtoType *TryDeconstructFunctionLike(QualType T) {
 4285                                 llvm::ArrayRef<QualType> Parameters,
 4298     for (auto Parameter : Parameters) {
 4402 void Sema::CodeCompleteExpression(Scope *S, QualType PreferredType,
 4409                                          QualType PreferredType) {
 4658     Sema &SemaRef, ResultBuilder &Results, Scope *S, QualType BaseType,
 4699                                            QualType PreferredType) {
 4706   QualType ConvertedBaseType = ConvertedBase.get()->getType();
 4742     QualType BaseType = Base->getType();
 4970   QualType type = Switch->getCond()->IgnoreImplicit()->getType();
 5069 static QualType getParamType(Sema &SemaRef,
 5075   QualType ParamType;
 5093 static QualType
 5104 QualType Sema::ProduceCallSignatureHelp(Scope *S, Expr *Fn,
 5180       QualType T = NakedFn->getType();
 5195   QualType ParamType =
 5200 QualType Sema::ProduceConstructorSignatureHelp(Scope *S, QualType Type,
 5200 QualType Sema::ProduceConstructorSignatureHelp(Scope *S, QualType Type,
 5239 QualType Sema::ProduceCtorInitMemberSignatureHelp(
 5334                                    bool IsUsingDeclaration, QualType BaseType,
 5335                                    QualType PreferredType) {
 6439     QualType T = Msg->getInstanceReceiver()->getType();
 6696 static QualType getPreferredArgumentTypeForMessageSend(ResultBuilder &Results,
 6701   QualType PreferredType;
 6711           QualType MyPreferredType =
 6739     QualType T = SemaRef.GetTypeFromParser(Receiver, nullptr);
 6808   QualType T = this->GetTypeFromParser(Receiver);
 6825     QualType PreferredType =
 6854   QualType ReceiverType = RecExpr
 6982     QualType PreferredType =
 7350   QualType PropertyType = Context.getObjCIdType();
 7430                                      QualType ReturnType,
 7513 static void AddObjCPassingTypeChunk(QualType Type, unsigned ObjCDeclQuals,
 7542                                        QualType ReturnType, ASTContext &Context,
 8157   QualType ReturnType = GetTypeFromParser(ReturnTy);
 8217       QualType ResTy = Method->getSendResultType().stripObjCKindOfType(Context);
 8245       QualType ParamType;
tools/clang/lib/Sema/SemaConcept.cpp
   39   QualType Type = ConstraintExpression->getType();
tools/clang/lib/Sema/SemaCoroutine.cpp
   50 static QualType lookupPromiseType(Sema &S, const FunctionDecl *FD,
   86       QualType T = MD->getThisType()->castAs<PointerType>()->getPointeeType();
   93   for (QualType T : FnType->getParamTypes())
   97   QualType CoroTrait =
  120   QualType PromiseType = S.Context.getTypeDeclType(Promise);
  143 static QualType lookupCoroutineHandleType(Sema &S, QualType PromiseType,
  143 static QualType lookupCoroutineHandleType(Sema &S, QualType PromiseType,
  175   QualType CoroHandleType =
  312 static ExprResult buildCoroutineHandle(Sema &S, QualType PromiseType,
  314   QualType CoroHandleType = lookupCoroutineHandleType(S, PromiseType, Loc);
  375 static Expr *maybeTailCall(Sema &S, QualType RetType, Expr *E,
  445     QualType RetType = AwaitSuspend->getCallReturnType(S.Context);
  490   QualType T = FD->getType()->isDependentType() || IsThisDependentType
  933                                           QualType PromiseType) {
 1121   QualType PromiseType = Fn.CoroutinePromise->getType();
 1269   QualType OpDeleteQualType = OperatorDelete->getType();
 1420   QualType const GroType = this->ReturnValue->getType();
 1424   QualType const FnRetType = FD.getReturnType();
 1497 static Expr *castForMoving(Sema &S, Expr *E, QualType T = QualType()) {
 1500   QualType TargetType = S.BuildReferenceType(
 1513 static VarDecl *buildVarDecl(Sema &S, SourceLocation Loc, QualType Type,
tools/clang/lib/Sema/SemaDecl.cpp
  260   QualType T = Context.getDependentNameType(ETK_Typename, NNS, &II);
  297     QualType ObjectType = ObjectTypePtr.get();
  323         QualType T = CheckTypenameType(ETK_None, SourceLocation(), QualifierLoc,
  467   QualType T;
  587   QualType T = Context.getDependentNameType(ETK_None, NNS, &II);
  835                                   QualType T, SourceLocation NameLoc) {
 1125     QualType T = Context.getTypeDeclType(Type);
 1149     QualType T = Context.getObjCInterfaceType(Class);
 1168     QualType T = Context.getTypeDeclType(Type);
 2037   QualType R = Context.GetBuiltinType(ID, Error);
 2169   QualType OldType;
 2174   QualType NewType = New->getUnderlyingType();
 2223         QualType T = New->getUnderlyingType();
 2227           QualType PT = T->castAs<PointerType>()->getPointeeType();
 2461       QualType Ty;
 2975       QualType NewT = NewParam->getType();
 2991   QualType PromotedType;
 3025 const AttributedType *Sema::getCallingConvAttributedType(QualType T) const {
 3279   QualType OldQType = Context.getCanonicalType(Old->getType());
 3280   QualType NewQType = Context.getCanonicalType(New->getType());
 3425     QualType OldDeclaredReturnType = Old->getDeclaredReturnType();
 3426     QualType NewDeclaredReturnType = New->getDeclaredReturnType();
 3430       QualType ResQT;
 3450     QualType OldReturnType = OldType->getReturnType();
 3451     QualType NewReturnType = cast<FunctionType>(NewQType)->getReturnType();
 3567     QualType OldQTypeForComparison = OldQType;
 3624       SmallVector<QualType, 16> ParamTypes(OldProto->param_types());
 3633       for (const auto &ParamType : OldProto->param_types()) {
 3664     SmallVector<QualType, 16> ArgTypes;
 3672     QualType MergedReturn = Context.mergeTypes(OldProto->getReturnType(),
 3787   QualType Merged = Context.mergeTypes(Old->getType(), New->getType());
 3844   QualType MergedT;
 5099   QualType RecTy = Context.getTypeDeclType(Record);
 5193     QualType Ty = GetTypeFromParser(Name.ConversionFunctionId, &TInfo);
 5204     QualType Ty = GetTypeFromParser(Name.ConstructorName, &TInfo);
 5222     QualType CurClassType = Context.getTypeDeclType(CurClass);
 5237     QualType Ty = GetTypeFromParser(Name.DestructorName, &TInfo);
 5257 static QualType getCoreType(QualType Ty) {
 5257 static QualType getCoreType(QualType Ty) {
 5283     QualType DeclParamTy = Declaration->getParamDecl(Idx)->getType();
 5284     QualType DefParamTy = Definition->getParamDecl(Idx)->getType();
 5290     QualType DeclParamBaseTy = getCoreType(DeclParamTy);
 5291     QualType DefParamBaseTy = getCoreType(DefParamTy);
 5327     QualType T = S.GetTypeFromParser(DS.getRepAsType(), &TSI);
 5594   QualType R = TInfo->getType();
 5730 static QualType TryToFixInvalidVariablyModifiedType(QualType T,
 5730 static QualType TryToFixInvalidVariablyModifiedType(QualType T,
 5748     QualType Pointee = PTy->getPointeeType();
 5749     QualType FixedType =
 5757     QualType Inner = PTy->getInnerType();
 5758     QualType FixedType =
 5836   QualType FixedTy
 5940   QualType T = TInfo->getType();
 6077   QualType type = decl->getType();
 6482   QualType R = TInfo->getType();
 6526     QualType NR = R;
 7539   QualType T = NewVD->getType();
 7691     QualType FixedT;
 7813       QualType T = S->Context.getTypeDeclType(BaseRecord);
 8145                                            DeclContext *DC, QualType &R,
 8302 static bool isOpenCLSizeDependentType(ASTContext &C, QualType Ty) {
 8310   QualType DesugaredTy = Ty;
 8324 static OpenCLParamType getOpenCLKernelParameterType(Sema &S, QualType PT) {
 8326     QualType PointeeType = PT->getPointeeType();
 8376   QualType PT = Param->getType();
 8474       QualType FieldTy = Field->getType();
 8490       QualType QT = FD->getType();
 8568   QualType R = TInfo->getType();
 8778       QualType Result =
 9009     for (const auto &AI : FT->param_types()) {
 9382     QualType R = Context.getFunctionType(FT->getReturnType(), None, EPI);
 9489     QualType PT = Param->getType();
 9495         QualType ElemTy = PipeTy->getElementType();
 9602                                           QualType NewT, QualType OldT) {
 9602                                           QualType NewT, QualType OldT) {
 9785   QualType NewQType = Context.getCanonicalType(NewFD->getType());
 9787   QualType NewReturnType = NewType->getReturnType();
 9795     QualType OldQType = Context.getCanonicalType(OldFD->getType());
 9803     QualType OldReturnType = OldType->getReturnType();
10437       QualType ClassType = Context.getTypeDeclType(Record);
10507       QualType T = Context.GetBuiltinType(BuiltinID, Error);
10525       QualType R = NewFD->getReturnType();
10562       for (QualType T : FPT->param_types())
10612   QualType T = FD->getType();
10686   QualType CharPP =
10688   QualType Expected[] = { Context.IntTy, CharPP, CharPP, CharPP };
10691     QualType AT = FTP->getParamType(i);
10732   QualType T = FD->getType();
10751 bool Sema::CheckForConstantInitializer(Expr *Init, QualType DclT) {
11109 QualType Sema::deduceVarTypeFromInitializer(VarDecl *VDecl,
11110                                             DeclarationName Name, QualType Type,
11212   QualType DeducedType;
11247   QualType DeducedType = deduceVarTypeFromInitializer(
11280   QualType InitType = Init->getType();
11328       QualType OrigTy, SourceLocation OrigLoc,
11332   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType QT,
11332   void visitWithKind(QualType::PrimitiveDefaultInitializeKind PDIK, QualType QT,
11340   void visitARCStrong(QualType QT, const FieldDecl *FD,
11347   void visitARCWeak(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {
11353   void visitStruct(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {
11377   void visitTrivial(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {}
11381   QualType OrigTy;
11393       QualType OrigTy, SourceLocation OrigLoc,
11397   void visitWithKind(QualType::DestructionKind DK, QualType QT,
11397   void visitWithKind(QualType::DestructionKind DK, QualType QT,
11405   void visitARCStrong(QualType QT, const FieldDecl *FD,
11412   void visitARCWeak(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {
11418   void visitStruct(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {
11442   void visitTrivial(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {}
11443   void visitCXXDestructor(QualType QT, const FieldDecl *FD,
11448   QualType OrigTy;
11458   DiagNonTrivalCUnionCopyVisitor(QualType OrigTy, SourceLocation OrigLoc,
11463   void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType QT,
11463   void visitWithKind(QualType::PrimitiveCopyKind PCK, QualType QT,
11471   void visitARCStrong(QualType QT, const FieldDecl *FD,
11478   void visitARCWeak(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {
11484   void visitStruct(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {
11508   void preVisit(QualType::PrimitiveCopyKind PCK, QualType QT,
11508   void preVisit(QualType::PrimitiveCopyKind PCK, QualType QT,
11510   void visitTrivial(QualType QT, const FieldDecl *FD, bool InNonTrivialUnion) {}
11511   void visitVolatileTrivial(QualType QT, const FieldDecl *FD,
11516   QualType OrigTy;
11524 void Sema::checkNonTrivialCUnion(QualType QT, SourceLocation Loc,
11606     QualType BaseDeclType = VDecl->getType();
11673   QualType DclT = VDecl->getType(), SavT = DclT;
11953   QualType InitType = Init->getType();
12006   QualType Ty = VD->getType();
12035     QualType Type = Var->getType();
12372       var->getType().isDestructedType() == QualType::DK_nontrivial_c_struct)
12476   QualType type = var->getType();
12484   QualType baseType = Context.getBaseElementType(type);
12876     QualType Deduced;
13026   QualType parmDeclType = TInfo->getType();
13091                                               QualType T) {
13118     ArrayRef<ParmVarDecl *> Parameters, QualType ReturnTy, NamedDecl *D) {
13134     QualType T = Parameter->getType();
13146                                   QualType T, TypeSourceInfo *TSInfo,
13464       QualType CaptureType = VD->getType();
13562   QualType ResultType = FD->getReturnType();
13671         QualType Ty = GetTypeFromParser(Outer.Fun.getTrailingReturnType());
13803         QualType RetType =
14347 TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T,
14405   QualType T = TI->getType();
14421                                   QualType EnumUnderlyingTy, bool IsFixed,
15185           QualType EnumUnderlyingTy;
15770                                 QualType FieldTy, bool IsMsStruct,
15888   QualType T = TInfo->getType();
15976 FieldDecl *Sema::CheckFieldDecl(DeclarationName Name, QualType T,
15995   QualType EltTy = Context.getBaseElementType(T);
16184   QualType EltTy = Context.getBaseElementType(FD->getType());
16266   QualType T = TInfo->getType();
16525         QualType BaseElem = Context.getBaseElementType(FD->getType());
16582       QualType T = Context.getObjCObjectPointerType(FD->getType());
16606         QualType BaseType = Context.getBaseElementType(FD->getType());
16618       QualType FT = FD->getType();
16625       QualType::PrimitiveCopyKind PCK = FT.isNonTrivialToPrimitiveCopy();
16626       if (PCK != QualType::PCK_Trivial && PCK != QualType::PCK_VolatileTrivial) {
16626       if (PCK != QualType::PCK_Trivial && PCK != QualType::PCK_VolatileTrivial) {
16765           QualType FieldType = I->getType();
16855                                         QualType T) {
16870 static QualType getNextLargerIntegralType(ASTContext &Context, QualType T) {
16870 static QualType getNextLargerIntegralType(ASTContext &Context, QualType T) {
16876   QualType SignedIntegralTypes[NumTypes] = {
16879   QualType UnsignedIntegralTypes[NumTypes] = {
16885   QualType *Types = T->isSignedIntegerOrEnumerationType()? SignedIntegralTypes
16901   QualType EltTy;
17016         QualType T = getNextLargerIntegralType(Context, EltTy);
17211                                         EnumDecl *Enum, QualType EnumType) {
17351   QualType EnumType = Context.getTypeDeclType(Enum);
17404   QualType BestType;
17416   QualType BestPromotionType;
17515     QualType NewTy;
tools/clang/lib/Sema/SemaDeclAttr.cpp
  107 static QualType getFunctionOrMethodParamType(const Decl *D, unsigned Idx) {
  122 static QualType getFunctionOrMethodResultType(const Decl *D) {
  150 static inline bool isNSStringType(QualType T, ASTContext &Ctx) {
  166 static inline bool isCFStringType(QualType T, ASTContext &Ctx) {
  458   QualType QT = Exp->getType();
  504   QualType QT = VD->getType();
  525 static const RecordType *getRecordType(QualType QT) {
  559 static bool checkRecordTypeForCapability(Sema &S, QualType Ty) {
  577 static bool checkTypedefTypeForCapability(QualType Ty) {
  589 static bool typeHasCapability(Sema &S, QualType Ty) {
  678     QualType ArgTy = ArgExp->getType();
  772   QualType QT = cast<ValueDecl>(D)->getType();
 1126   QualType ThisType = MD->getThisType()->getPointeeType();
 1389   QualType QT = S.GetTypeFromParser(PT, &QTLoc);
 1407 bool Sema::isValidPointerAttrType(QualType T, bool RefOkay) {
 1421         QualType QT = I->getType();
 1431 static bool attrNonNullArgCheck(Sema &S, QualType T, const ParsedAttr &AL,
 1475       QualType T = getFunctionOrMethodParamType(D, I);
 1511   QualType ResultType = getFunctionOrMethodResultType(D);
 1525   QualType T = cast<ParmVarDecl>(D)->getType();
 1547   QualType ResultType = getFunctionOrMethodResultType(D);
 1597   QualType ResultType = getFunctionOrMethodResultType(D);
 1615   QualType Ty = getFunctionOrMethodParamType(D, Idx.getASTIndex());
 1688     QualType T = getFunctionOrMethodParamType(D, Idx.getASTIndex());
 1871   QualType ResultType = getFunctionOrMethodResultType(D);
 2581     QualType T = TD->getUnderlyingType();
 2588     QualType T = PD->getType();
 2608     QualType T = TD->getUnderlyingType();
 2701     QualType Ty = V->getType();
 2837   QualType ParmType = S.GetTypeFromParser(AL.getTypeArg(), &ParmTSI);
 3068   QualType Ty = S.Context.getPointerType(cast<VarDecl>(D)->getType());
 3069   QualType ParamTy = FD->getParamDecl(0)->getType();
 3109   QualType Ty = getFunctionOrMethodParamType(D, Idx.getASTIndex());
 3178   QualType T = cast<VarDecl>(D)->getType();
 3282   QualType Ty = getFunctionOrMethodParamType(D, ArgIdx);
 3513   QualType FirstType = FirstField->getType();
 3526     QualType FieldType = Field->getType();
 3578   QualType T;
 3766   QualType UnderlyingTy, DiagTy;
 3947   QualType OldTy;
 3966   QualType OldElemTy = OldTy;
 3995   QualType NewElemTy;
 4012   QualType NewTy = NewElemTy;
 4366   QualType ParmType;
 4582 static bool isValidSwiftContextType(QualType Ty) {
 4589 static bool isValidSwiftIndirectResultType(QualType Ty) {
 4601 static bool isValidSwiftErrorResultType(QualType Ty) {
 4617   QualType type = cast<ParmVarDecl>(D)->getType();
 4866 static bool isValidSubjectOfNSReturnsRetainedAttribute(QualType QT) {
 4870 static bool isValidSubjectOfNSAttribute(QualType QT) {
 4875 static bool isValidSubjectOfCFAttribute(QualType QT) {
 4880 static bool isValidSubjectOfOSAttribute(QualType QT) {
 4883   QualType PT = QT->getPointeeType();
 4945 bool Sema::checkNSReturnsRetainedReturnType(SourceLocation Loc, QualType QT) {
 4959   QualType QT = PVD->getType();
 4960   QualType PT = QT->getPointeeType();
 4966   QualType ReturnType;
 5101   QualType resultType;
 5157     QualType T = TD->getUnderlyingType();
 5266   QualType QT = VD->getType();
 6332   QualType Ty = VD->getType();
 6388     QualType Ty = PVD->getType();
 6409     QualType T = getFunctionOrMethodResultType(D);
 6428     QualType RetTy = FD->getReturnType();
 7353     QualType FDTy = FD->getType();
 7356       for (const auto &AI : FT->param_types()) {
 8254       QualType ReceiverTy = Msg->getClassReceiver();
tools/clang/lib/Sema/SemaDeclCXX.cpp
  215   for (const auto &E : Proto->exceptions())
  786   QualType R = TInfo->getType();
  875     QualType DecompType, const llvm::APSInt &NumElems, QualType ElemType,
  875     QualType DecompType, const llvm::APSInt &NumElems, QualType ElemType,
  901                                         ValueDecl *Src, QualType DecompType,
  903                                         QualType ElemType) {
  915                                     ValueDecl *Src, QualType DecompType,
  923                                      ValueDecl *Src, QualType DecompType,
  933                                       ValueDecl *Src, QualType DecompType,
  996   QualType TraitTy = S.CheckTemplateIdType(TemplateName(TraitTD), Loc, Args);
 1016 getTrivialIntegralTemplateArgument(Sema &S, SourceLocation Loc, QualType T,
 1023 getTrivialTypeTemplateArgument(Sema &S, SourceLocation Loc, QualType T) {
 1029 static IsTupleLike isTupleLike(Sema &S, SourceLocation Loc, QualType T,
 1074 static QualType getTupleLikeElementType(Sema &S, SourceLocation Loc,
 1075                                         unsigned I, QualType T) {
 1119                                         VarDecl *Src, QualType DecompType,
 1204     QualType T = getTupleLikeElementType(S, Loc, I, DecompType);
 1211     QualType RefType =
 1297     QualType BaseType = BestPath->back().Base->getType();
 1327                                      ValueDecl *Src, QualType DecompType,
 1339   QualType BaseType = S.Context.getQualifiedType(S.Context.getRecordType(RD),
 1416   QualType DecompType = DD->getType();
 1497   QualType NewType = New->getType();
 1498   QualType OldType = Old->getType();
 1583                              SourceLocation Loc, QualType T, unsigned DiagID,
 1732     QualType RT = NewFD->getReturnType();
 2412   QualType BaseType = TInfo->getType();
 2595 typedef llvm::SmallPtrSet<QualType, 4> IndirectBaseSet;
 2600                   const QualType &Type)
 2609       QualType Base = Context.getCanonicalType(BaseSpec.getType())
 2629   std::map<QualType, CXXBaseSpecifier*, QualTypeOrdering> KnownBaseTypes;
 2639     QualType NewBaseType
 2689     QualType BaseType = Bases[idx]->getType();
 2737 bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base) {
 2737 bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base) {
 2764 bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base,
 2764 bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base,
 2821 Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 2821 Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 2903 Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 2903 Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base,
 3461     llvm::SmallPtrSetImpl<QualType> &BaseClasses;
 3478                               llvm::SmallPtrSetImpl<QualType> &BaseClasses)
 3565           QualType T = BaseCast->getType();
 3818     llvm::SmallPtrSet<QualType, 4> UninitializedBaseClasses;
 3927                                 QualType BaseType,
 4099   QualType BaseType;
 4351 Sema::BuildBaseInitializer(QualType BaseType, TypeSourceInfo *BaseTInfo,
 4483 static Expr *CastForMoving(Sema &SemaRef, Expr *E, QualType T = QualType()) {
 4485   QualType TargetType = SemaRef.BuildReferenceType(
 4531     QualType ParamType = Param->getType().getNonReferenceType();
 4542     QualType ArgTy =
 4601     QualType ParamType = Param->getType().getNonReferenceType();
 4675   QualType FieldBaseElementType =
 4839 static bool isIncompleteOrZeroLengthArrayType(ASTContext &Context, QualType T) {
 5131 static const void *GetKeyForBase(ASTContext &Context, QualType BaseType) {
 5389     QualType FieldType = Context.getBaseElementType(Field->getType());
 5502 bool Sema::isAbstractType(SourceLocation Loc, QualType T) {
 5523 bool Sema::RequireNonAbstractType(SourceLocation Loc, QualType T,
 5675     QualType T = TL.getType();
 6767     QualType BaseType = S.Context.getBaseElementType(F->getType());
 6905   QualType ReturnType = Context.VoidTy;
 6910     QualType DeclType = Context.getTypeDeclType(RD);
 6912     QualType ExpectedReturnType = Context.getLValueReferenceType(DeclType);
 6933   QualType ArgType = ExpectedParams ? Type->getParamType(0) : QualType();
 6937     QualType ReferentType = ArgType->getPointeeType();
 7062   QualType ExpectedParmType =
 7319   bool shouldDeleteForVariantObjCPtrMember(FieldDecl *FD, QualType FieldType);
 7344   QualType objectTy;
 7452     FieldDecl *FD, QualType FieldType) {
 7507   QualType FieldType = S.Context.getBaseElementType(FD->getType());
 7572         QualType UnionFieldType = S.Context.getBaseElementType(UI->getType());
 7933                                       QualType SubType, bool ConstRHS,
 7992     QualType FieldType = S.Context.getBaseElementType(FI->getType());
 8035   QualType Ty = Context.getRecordType(RD);
 8350     QualType FT = FD->getType();
 8627 QualType Sema::CheckConstructorDeclarator(Declarator &D, QualType R,
 8627 QualType Sema::CheckConstructorDeclarator(Declarator &D, QualType R,
 8707     QualType ParamType = Constructor->getParamDecl(0)->getType();
 8708     QualType ClassTy = Context.getTagDeclType(ClassDecl);
 8747         QualType ParamType = OperatorDelete->getParamDecl(0)->getType();
 8782 QualType Sema::CheckDestructorDeclarator(Declarator &D, QualType R,
 8782 QualType Sema::CheckDestructorDeclarator(Declarator &D, QualType R,
 8789   QualType DeclaratorType = GetTypeFromParser(D.getName().DestructorName);
 8904 void Sema::CheckConversionDeclarator(Declarator &D, QualType &R,
 8920   QualType ConvType =
 9076   QualType ConvType = Context.getCanonicalType(Conversion->getConversionType());
 9086   QualType ClassType
 9147 void Sema::CheckDeductionGuideDeclarator(Declarator &D, QualType &R,
 9220     QualType RetTy = GetTypeFromParser(TrailingReturnType, &TSI);
 9510   QualType TyForDiags;
 9512   QualType operator()(UnsupportedSTLSelect Sel = USS_Other, StringRef Name = "",
 9531 QualType Sema::CheckComparisonCategoryType(ComparisonCategoryType Kind,
 9561   QualType TyForDiags = [&]() {
 9645 bool Sema::isStdInitializerList(QualType Ty, QualType *Element) {
 9645 bool Sema::isStdInitializerList(QualType Ty, QualType *Element) {
 9739 QualType Sema::BuildStdInitializerList(QualType Element, SourceLocation Loc) {
 9739 QualType Sema::BuildStdInitializerList(QualType Element, SourceLocation Loc) {
 9764   QualType ArgType = Ctor->getParamDecl(0)->getType();
10289                                                 QualType DesiredBase,
10335         QualType FoundType = Ctx.getRecordType(FoundRecord);
11415                                           QualType ResultTy,
11416                                           ArrayRef<QualType> Args) {
11426   auto QT = Context.getFunctionType(ResultTy, Args, EPI);
11917   QualType VarType;
11924   RefBuilder(VarDecl *Var, QualType VarType)
11937   QualType Type;
11948   CastBuilder(const ExprBuilder &Builder, QualType Type, ExprValueKind Kind,
11967   QualType Type;
11979   MemberBuilder(const ExprBuilder &Builder, QualType Type, bool IsArrow,
12029 buildMemcpyForAssignmentOp(Sema &S, SourceLocation Loc, QualType T,
12032   QualType SizeType = S.Context.getSizeType();
12109 buildSingleCopyAssignRecursively(Sema &S, SourceLocation Loc, QualType T,
12231   QualType SizeType = S.Context.getSizeType();
12301 buildSingleCopyAssign(Sema &S, SourceLocation Loc, QualType T,
12332   QualType ArgType = Context.getTypeDeclType(ClassDecl);
12335   QualType RetType = Context.getLValueReferenceType(ArgType);
12491   QualType OtherRefType = Other->getType();
12514     QualType BaseType = Base.getType().getUnqualifiedType();
12571     QualType BaseType = Context.getBaseElementType(Field->getType());
12584     QualType FieldType = Field->getType().getNonReferenceType();
12657   QualType ArgType = Context.getTypeDeclType(ClassDecl);
12660   QualType RetType = Context.getLValueReferenceType(ArgType);
12852   QualType OtherRefType = Other->getType()->
12881     QualType BaseType = Base.getType().getUnqualifiedType();
12939     QualType BaseType = Context.getBaseElementType(Field->getType());
12952     QualType FieldType = Field->getType().getNonReferenceType();
13030   QualType ClassType = Context.getTypeDeclType(ClassDecl);
13031   QualType ArgType = ClassType;
13165   QualType ClassType = Context.getTypeDeclType(ClassDecl);
13167   QualType ArgType = ClassType;
13416 Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
13454 Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
13480 Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
13696 static QualType
13698   QualType QTy = PtrTy->getPointeeType();
13709   QualType ResultType =
13744   QualType FirstParamType = FnDecl->getParamDecl(0)->getType();
13871       QualType ParamType = Param->getType().getNonReferenceType();
13963     QualType ParamType = LastParam->getType();
14059     QualType ParamType = Param->getType().getUnqualifiedType();
14071       QualType InnerType = Ptr->getPointeeType();
14105     QualType FirstParamType = (*Param)->getType().getUnqualifiedType();
14118     QualType PointeeType = PT->getPointeeType();
14127     QualType InnerType = PointeeType.getUnqualifiedType();
14146     QualType SecondParamType = (*Param)->getType().getUnqualifiedType();
14264   QualType ExDeclType = TInfo->getType();
14286   QualType BaseType = ExDeclType;
14312     QualType T = ExDeclType;
14349       QualType initType = Context.getExceptionObjectType(ExDeclType);
14526   QualType T = TSInfo->getType();
14659     QualType T = CheckTypenameType(Keyword, TagLoc, QualifierLoc,
14695   QualType T = Context.getDependentNameType(ETK, SS.getScopeRep(), Name);
14762   QualType T = TSI->getType();
15357   QualType NewTy = New->getType()->getAs<FunctionType>()->getReturnType();
15358   QualType OldTy = Old->getType()->getAs<FunctionType>()->getReturnType();
15365   QualType NewClassTy, OldClassTy;
15999     for (const auto &E : Proto->exceptions()) {
16060     SmallVectorImpl<QualType> &Exceptions,
16068       QualType ET = GetTypeFromParser(DynamicExceptions[ei]);
16123   llvm::SmallVector<QualType, 4> Exceptions;
16158   QualType T = TInfo->getType();
tools/clang/lib/Sema/SemaDeclObjC.cpp
   42                            QualType receiverTypeIfCall) {
  143     QualType ResultType = NewMethod->getReturnType();
  344   QualType T = Param->getType();
  372   QualType ResultType = MDecl->getReturnType();
  574     QualType SuperClassType;
  587         QualType T = TDecl->getUnderlyingType();
  677     QualType typeBound = GetTypeFromParser(parsedTypeBound, &typeBoundInfo);
  716       QualType typeBound = typeBoundInfo->getType();
 1117     QualType T = TDecl->getUnderlyingType();
 1152     QualType T = TDecl->getUnderlyingType();
 1368         auto type = Context.getTypeDeclType(typeDecl);
 1429     QualType base = GetTypeFromParser(baseType, nullptr);
 1570     QualType type;
 2420   QualType ImplTy = ImplVar->getType();
 2421   QualType IfaceTy = IfaceVar->getType();
 3130                        QualType leftQT, QualType rightQT) {
 3130                        QualType leftQT, QualType rightQT) {
 3655                                      QualType ObjectType) {
 3666                                  QualType ObjectType) {
 3770     QualType IvarTy = ivar->getType();
 3800 static bool IsVariableSizedType(QualType T) {
 3842     QualType IvarTy = ivar->getType();
 4136   QualType ResultType = Method->getReturnType();
 4396         QualType T1 = Context.getCanonicalType((*ParamI)->getType());
 4397         QualType T2 = Context.getCanonicalType((*PrevI)->getType());
 4415 static QualType mergeTypeNullabilityForRedecl(Sema &S, SourceLocation loc,
 4416                                               QualType type,
 4419                                               QualType prevType,
 4468   QualType newReturnType
 4486     QualType newParamType
 4504   QualType T;
 4555   QualType resultDeclType;
 4565     QualType bareResultType = resultDeclType;
 4586     QualType ArgType;
 4640     QualType ArgType = Param->getType();
 4851 VarDecl *Sema::BuildObjCExceptionDecl(TypeSourceInfo *TInfo, QualType T,
 4926   QualType ExceptionType = TInfo->getType();
 4959     QualType QT = Context.getBaseElementType(Iv->getType());
tools/clang/lib/Sema/SemaExceptionSpec.cpp
   26 static const FunctionProtoType *GetUnderlyingFunction(QualType T)
  107 bool Sema::CheckSpecifiedExceptionType(QualType &T, SourceRange Range) {
  120   QualType PointeeT = T;
  167 bool Sema::CheckDistantExceptionSpec(QualType T) {
  404     for (const auto &E : OldProto->exceptions()) {
  578     for (const auto &I : Old->exceptions())
  581     for (const auto &I : New->exceptions()) {
  607       QualType Exception = *WithExceptions->exception_begin();
  656 bool Sema::handlerCanCatch(QualType HandlerType, QualType ExceptionType) {
  656 bool Sema::handlerCanCatch(QualType HandlerType, QualType ExceptionType) {
  687     QualType Result;
  817   for (QualType SubI : Subset->exceptions()) {
  823     for (QualType SuperI : Superset->exceptions()) {
  849                             const PartialDiagnostic &NoteID, QualType Target,
  850                             SourceLocation TargetLoc, QualType Source,
  898 bool Sema::CheckExceptionSpecCompatibility(Expr *From, QualType ToType) {
  989   QualType T;
 1153     QualType DTy = cast<CXXDeleteExpr>(E)->getDestroyedType();
tools/clang/lib/Sema/SemaExpr.cpp
  360     QualType type = cast<ValueDecl>(D)->getType();
  448   QualType Ty = E->getType();
  510   QualType BaseType = Base->getType();
  567   QualType T = E->getType();
  668   QualType Ty = E->getType();
  696   QualType Ty = E->getType();
  720     QualType PTy = Context.isPromotableBitField(E);
  726       QualType PT = Context.getPromotedIntegerType(Ty);
  739   QualType Ty = E->getType();
  790 Sema::VarArgKind Sema::isValidVarArgType(const QualType &Ty) {
  808   if (Ty.isDestructedType() == QualType::DK_nontrivial_c_struct)
  842   const QualType &Ty = E->getType();
  870     if (Ty.isDestructedType() == QualType::DK_nontrivial_c_struct)
  958     QualType fpTy = cast<ComplexType>(ComplexTy)->getElementType();
  972 static QualType handleComplexFloatConversion(Sema &S, ExprResult &LHS,
 1000   QualType LHSElementType =
 1002   QualType RHSElementType =
 1005   QualType ResultType = S.Context.getComplexType(LHSElementType);
 1028 static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr,
 1042   QualType result = S.Context.getComplexType(FloatTy);
 1059 static QualType handleFloatConversion(Sema &S, ExprResult &LHS,
 1098 static bool unsupportedTypeConversion(const Sema &S, QualType LHSType,
 1099                                       QualType RHSType) {
 1113   QualType LHSElemType = LHSComplex ?
 1115   QualType RHSElemType = RHSComplex ?
 1154 static QualType handleIntegerConversion(Sema &S, ExprResult &LHS,
 1193     QualType result =
 1204 static QualType handleComplexIntConversion(Sema &S, ExprResult &LHS,
 1212     QualType LHSEltType = LHSComplexInt->getElementType();
 1213     QualType RHSEltType = RHSComplexInt->getElementType();
 1214     QualType ScalarType =
 1222     QualType LHSEltType = LHSComplexInt->getElementType();
 1223     QualType ScalarType =
 1226     QualType ComplexType = S.Context.getComplexType(ScalarType);
 1235   QualType RHSEltType = RHSComplexInt->getElementType();
 1236   QualType ScalarType =
 1239   QualType ComplexType = S.Context.getComplexType(ScalarType);
 1250 static unsigned GetFixedPointRank(QualType Ty) {
 1297 static QualType handleFixedPointConversion(Sema &S, QualType LHSTy,
 1297 static QualType handleFixedPointConversion(Sema &S, QualType LHSTy,
 1298                                            QualType RHSTy) {
 1326   QualType ResultTy = LHSTyRank > RHSTyRank ? LHSTy : RHSTy;
 1338 QualType Sema::UsualArithmeticConversions(ExprResult &LHS, ExprResult &RHS,
 1352   QualType LHSType =
 1354   QualType RHSType =
 1371   QualType LHSUnpromotedType = LHSType;
 1374   QualType LHSBitfieldPromoteTy = Context.isPromotableBitField(LHS.get());
 1607   QualType ArgTy[2];
 1647   QualType CharTy = Context.CharTy;
 1691   QualType StrTy =
 1714   QualType SizeType = Context.getSizeType();
 1721   QualType ArgTy[] = {
 1771 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
 1779 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
 1814 Sema::BuildDeclRefExpr(ValueDecl *D, QualType Ty, ExprValueKind VK,
 2125   QualType ThisType = S.getCurrentThisType();
 2459     QualType Ty = Context.getTypeDeclType(TD);
 2463     QualType ET = getElaboratedType(ETK_None, SS, Ty);
 2672   QualType DestRecordType;
 2673   QualType DestType;
 2674   QualType FromRecordType;
 2675   QualType FromType = From->getType();
 2743     QualType QType = QualType(Qualifier->getAsType(), 0);
 2746     QualType QRecordType = QualType(QType->getAs<RecordType>(), 0);
 2781     QualType URecordType = Context.getTypeDeclType(
 2793       QualType UType = URecordType;
 2993     QualType type = VD->getType();
 3084         QualType CapturedType = getCapturedDeclRefType(cast<VarDecl>(VD), Loc);
 3216   QualType ResTy;
 3280   QualType Ty;
 3332                                   QualType Ty, SourceLocation Loc) {
 3369   QualType QT = E->getType();
 3426     QualType CookedTy;
 3479       QualType StrTy = Context.getConstantArrayType(
 3514     QualType Ty;
 3557     QualType Ty;
 3594     QualType Ty;
 3733 static bool CheckVecStepTraitOperandType(Sema &S, QualType T,
 3751 static bool CheckExtensionTraitOperandType(Sema &S, QualType T,
 3781 static bool CheckObjCTraitOperandConstraints(Sema &S, QualType T,
 3799 static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T,
 3824   QualType ExprTy = E->getType();
 3885         QualType OType = PVD->getOriginalType();
 3886         QualType Type = PVD->getType();
 3924 bool Sema::CheckUnaryExprOrTypeTraitOperand(QualType ExprType,
 4039 static void captureVariablyModifiedType(ASTContext &Context, QualType T,
 4152   QualType T = TInfo->getType();
 4251 static QualType CheckRealImagOperand(Sema &S, ExprResult &V, SourceLocation Loc,
 4433   QualType ResultTy = E->getType();
 4448   QualType BaseTy = Base->getType();
 4506   QualType OriginalTy = OMPArraySectionExpr::getBaseOriginalType(Base);
 4507   QualType ResultTy;
 4642   QualType LHSTy = LHSExp->getType(), RHSTy = RHSExp->getType();
 4649   QualType ResultType;
 4701     QualType BaseType = BaseExpr->getType();
 5153     QualType ProtoArgType = Proto->getParamType(i);
 5223         QualType paramType; // ignored
 5270   QualType OrigTy = Param->getOriginalType();
 5321 static bool isPlaceholderToRemoveAsArg(QualType type) {
 5406   QualType DeclType = FDecl->getType();
 5415   SmallVector<QualType, 8> OverloadParams;
 5417   for (QualType ParamType : FT->param_types()) {
 5425     QualType ArgType = Arg->getType();
 5434     QualType PointeeType = ParamType->getPointeeType();
 5450   QualType OverloadTy = Context.getFunctionType(FT->getReturnType(),
 5464     QualType ParamType = FT->getParamType(i);
 5756   QualType DstTy = GetTypeFromParser(ParsedDestTy);
 5757   QualType SrcTy = E->getType();
 5815   QualType ResultTy;
 5822     QualType FnPtrTy = Context.getPointerType(FDecl->getType());
 6040   QualType literalType = GetTypeFromParser(Ty, &TInfo);
 6050   QualType literalType = TInfo->getType();
 6257   QualType type = E.get()->getType();
 6276   QualType SrcTy = Src.get()->getType();
 6415       QualType ET = SrcTy->castAs<ComplexType>()->getElementType();
 6449       QualType ET = SrcTy->castAs<ComplexType>()->getElementType();
 6480 static bool breakDownVectorType(QualType type, uint64_t &len,
 6481                                 QualType &eltType) {
 6506 bool Sema::areLaxCompatibleVectorTypes(QualType srcTy, QualType destTy) {
 6506 bool Sema::areLaxCompatibleVectorTypes(QualType srcTy, QualType destTy) {
 6518   QualType srcEltTy, destEltTy;
 6533 bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) {
 6533 bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) {
 6561 bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty,
 6561 bool Sema::CheckVectorCast(SourceRange R, QualType VectorTy, QualType Ty,
 6582   QualType DestElemTy = VectorTy->castAs<VectorType>()->getElementType();
 6618   QualType SrcTy = CastExpr->getType();
 6672   QualType castType = castTInfo->getType();
 6746   QualType Ty = TInfo->getType();
 6762       QualType ElemTy = VTy->getElementType();
 6784         QualType ElemTy = VTy->getElementType();
 6871   QualType CondTy = Cond->getType();
 6889 static QualType checkConditionalVoidType(Sema &S, ExprResult &LHS,
 6920 static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS,
 6923   QualType LHSTy = LHS.get()->getType();
 6924   QualType RHSTy = RHS.get()->getType();
 6931   QualType lhptee, rhptee;
 6998   QualType CompositeTy = S.Context.mergeTypes(lhptee, rhptee);
 7004     QualType incompatTy;
 7028   QualType ResultTy = [&, ResultAddrSpace]() {
 7049 static QualType checkConditionalBlockPointerCompatibility(Sema &S,
 7053   QualType LHSTy = LHS.get()->getType();
 7054   QualType RHSTy = RHS.get()->getType();
 7058       QualType destType = S.Context.getPointerType(S.Context.VoidTy);
 7074 static QualType
 7079   QualType LHSTy = LHS.get()->getType();
 7080   QualType RHSTy = RHS.get()->getType();
 7083   QualType lhptee = LHSTy->castAs<PointerType>()->getPointeeType();
 7084   QualType rhptee = RHSTy->castAs<PointerType>()->getPointeeType();
 7089     QualType destPointee
 7091     QualType destType = S.Context.getPointerType(destPointee);
 7099     QualType destPointee
 7101     QualType destType = S.Context.getPointerType(destPointee);
 7144 static QualType OpenCLArithmeticConversions(Sema &S, ExprResult &LHS,
 7156   QualType LHSType =
 7158   QualType RHSType =
 7198 static QualType
 7201   QualType ResTy = OpenCLArithmeticConversions(S, LHS, RHS, QuestionLoc);
 7209   QualType VectorTy = S.Context.getExtVectorType(ResTy, NumElements);
 7239   QualType EleTy = CondTy->getElementType();
 7253 static bool checkVectorResult(Sema &S, QualType CondTy, QualType VecResTy,
 7253 static bool checkVectorResult(Sema &S, QualType CondTy, QualType VecResTy,
 7265   QualType CVE = CV->getElementType();
 7266   QualType RVE = RV->getElementType();
 7280 static QualType
 7287   QualType CondTy = Cond.get()->getType();
 7296     QualType VecResTy = S.CheckVectorOperands(LHS, RHS, QuestionLoc,
 7315     QualType Ty = CE->getCallee()->getType();
 7327 QualType Sema::CheckConditionalOperands(ExprResult &Cond, ExprResult &LHS,
 7366   QualType ResTy = UsualArithmeticConversions(LHS, RHS);
 7370   QualType LHSTy = LHS.get()->getType();
 7371   QualType RHSTy = RHS.get()->getType();
 7421   QualType compositeType = FindCompositeObjCPointerType(LHS, RHS,
 7463 QualType Sema::FindCompositeObjCPointerType(ExprResult &LHS, ExprResult &RHS,
 7465   QualType LHSTy = LHS.get()->getType();
 7466   QualType RHSTy = RHS.get()->getType();
 7512     QualType compositeType = LHSTy;
 7549       QualType incompatTy = Context.getObjCIdType();
 7569     QualType lhptee = LHSTy->castAs<PointerType>()->getPointeeType();
 7570     QualType rhptee = RHSTy->castAs<ObjCObjectPointerType>()->getPointeeType();
 7571     QualType destPointee
 7573     QualType destType = Context.getPointerType(destPointee);
 7589     QualType lhptee = LHSTy->castAs<ObjCObjectPointerType>()->getPointeeType();
 7590     QualType rhptee = RHSTy->castAs<PointerType>()->getPointeeType();
 7591     QualType destPointee
 7593     QualType destType = Context.getPointerType(destPointee);
 7738 static QualType computeConditionalNullability(QualType ResTy, bool IsBin,
 7738 static QualType computeConditionalNullability(QualType ResTy, bool IsBin,
 7739                                               QualType LHSTy, QualType RHSTy,
 7739                                               QualType LHSTy, QualType RHSTy,
 7863   QualType LHSTy = LHSExpr->getType(), RHSTy = RHSExpr->getType();
 7867   QualType result = CheckConditionalOperands(Cond, LHS, RHS,
 7897 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType) {
 7897 checkPointerTypesForAssignment(Sema &S, QualType LHSType, QualType RHSType) {
 7968   QualType ltrans = QualType(lhptee, 0), rtrans = QualType(rhptee, 0);
 8035 checkBlockPointerTypesForAssignment(Sema &S, QualType LHSType,
 8036                                     QualType RHSType) {
 8040   QualType lhptee, rhptee;
 8086 checkObjCPointerTypesForAssignment(Sema &S, QualType LHSType,
 8087                                    QualType RHSType) {
 8104   QualType lhptee = LHSType->castAs<ObjCObjectPointerType>()->getPointeeType();
 8105   QualType rhptee = RHSType->castAs<ObjCObjectPointerType>()->getPointeeType();
 8121                                  QualType LHSType, QualType RHSType) {
 8121                                  QualType LHSType, QualType RHSType) {
 8135 static bool isVector(QualType QT, QualType ElementType) {
 8135 static bool isVector(QualType QT, QualType ElementType) {
 8159 Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS,
 8161   QualType RHSType = RHS.get()->getType();
 8162   QualType OrigLHSType = LHSType;
 8490 Sema::CheckTransparentUnionArgumentConstraints(QualType ArgType,
 8492   QualType RHSType = RHS.get()->getType();
 8542 Sema::CheckSingleAssignmentConstraints(QualType LHSType, ExprResult &CallerRHS,
 8572       QualType RHSType = RHS.get()->getType();
 8660     QualType Ty = LHSType.getNonLValueExprType(Context);
 8707   QualType getType() const { return Orig->getType(); }
 8714 QualType Sema::InvalidOperands(SourceLocation Loc, ExprResult &LHS,
 8741 QualType Sema::InvalidLogicalVectorOperands(SourceLocation Loc, ExprResult &LHS,
 8743   QualType LHSType = LHS.get()->IgnoreImpCasts()->getType();
 8744   QualType RHSType = RHS.get()->IgnoreImpCasts()->getType();
 8827   QualType NewVecTy = S.Context.getVectorType(ElementType,
 8845   QualType IntTy = Int->get()->getType().getUnqualifiedType();
 8883   QualType IntTy = Int->get()->getType().getUnqualifiedType();
 8927   QualType ScalarTy = Scalar->get()->getType().getUnqualifiedType();
 8928   QualType VectorTy = Vector->get()->getType().getUnqualifiedType();
 8934   QualType VectorEltTy = VT->getElementType();
 9000 QualType Sema::CheckVectorOperands(ExprResult &LHS, ExprResult &RHS,
 9015   QualType LHSType = LHS.get()->getType().getUnqualifiedType();
 9016   QualType RHSType = RHS.get()->getType().getUnqualifiedType();
 9098   QualType VecType = LHSVecType ? LHSType : RHSType;
 9100   QualType OtherType = LHSVecType ? RHSType : LHSType;
 9151     QualType Scalar = LHSVecType ? RHSType : LHSType;
 9152     QualType Vector = LHSVecType ? LHSType : RHSType;
 9179   QualType NonNullType = LHSNull ? RHS.get()->getType() : LHS.get()->getType();
 9218   QualType LHSTy = LHSArg->getType();
 9219   QualType RHSTy;
 9237     QualType ArrayElemTy = ArrayTy->getElementType();
 9268 QualType Sema::CheckMultiplyDivideOperands(ExprResult &LHS, ExprResult &RHS,
 9279   QualType compType = UsualArithmeticConversions(LHS, RHS, IsCompAssign);
 9293 QualType Sema::CheckRemainderOperands(
 9307   QualType compType = UsualArithmeticConversions(LHS, RHS, IsCompAssign);
 9384   QualType ResType = Operand->getType();
 9389   QualType PointeeTy = ResType->getPointeeType();
 9405   QualType ResType = Operand->getType();
 9411   QualType PointeeTy = ResType->getPointeeType();
 9441   QualType LHSPointeeTy, RHSPointeeTy;
 9534   const QualType StringType = StringRefExpr->getType();
 9547   const QualType CharType = CharExpr->getType();
 9581 QualType Sema::CheckAdditionOperands(ExprResult &LHS, ExprResult &RHS,
 9588     QualType compType = CheckVectorOperands(
 9596   QualType compType = UsualArithmeticConversions(LHS, RHS, CompLHSTy);
 9662     QualType LHSTy = Context.isPromotableBitField(LHS.get());
 9675 QualType Sema::CheckSubtractionOperands(ExprResult &LHS, ExprResult &RHS,
 9682     QualType compType = CheckVectorOperands(
 9690   QualType compType = UsualArithmeticConversions(LHS, RHS, CompLHSTy);
 9704     QualType lpointee = LHS.get()->getType()->getPointeeType();
 9742       QualType rpointee = RHSPTy->getPointeeType();
 9785 static bool isScopedEnumerationType(QualType T) {
 9877 static QualType checkVectorShift(Sema &S, ExprResult &LHS, ExprResult &RHS,
 9896   QualType LHSType = LHS.get()->getType();
 9900   QualType LHSEleType = LHSVecTy ? LHSVecTy->getElementType() : LHSType;
 9903   QualType RHSType = RHS.get()->getType();
 9905   QualType RHSEleType = RHSVecTy ? RHSVecTy->getElementType() : RHSType;
 9928     QualType VecTy =
 9954     QualType VecTy =
 9963 QualType Sema::CheckShiftOperands(ExprResult &LHS, ExprResult &RHS,
 9994   QualType LHSType = LHS.get()->getType();
10001   QualType RHSType = RHS.get()->getType();
10024   QualType LHSStrippedType = LHS->IgnoreParenImpCasts()->getType();
10025   QualType RHSStrippedType = RHS->IgnoreParenImpCasts()->getType();
10073   QualType LHSType = LHS.get()->getType();
10074   QualType RHSType = RHS.get()->getType();
10078   QualType T = S.FindCompositePointerType(Loc, LHS, RHS);
10125   QualType InterfaceType = Type->getPointeeType();
10151   QualType T = Method->parameters()[0]->getType();
10155   QualType R = Method->getReturnType();
10316   QualType LHSType = LHS->getType();
10317   QualType RHSType = RHS->getType();
10456 static bool checkThreeWayNarrowingConversion(Sema &S, QualType ToType, Expr *E,
10457                                              QualType FromType,
10468   QualType PreNarrowingType;
10499 static QualType checkArithmeticOrEnumeralThreeWayCompare(Sema &S,
10505   QualType LHSType = LHS.get()->getType();
10506   QualType RHSType = RHS.get()->getType();
10512   QualType LHSStrippedType = LHSStripped.get()->getType();
10513   QualType RHSStrippedType = RHSStripped.get()->getType();
10526     QualType OtherTy = LHSIsEnum ? RHSStrippedType : LHSStrippedType;
10540     QualType IntType =
10557   QualType Type = S.UsualArithmeticConversions(LHS, RHS);
10589 static QualType checkArithmeticOrEnumeralCompare(Sema &S, ExprResult &LHS,
10597   QualType Type = S.UsualArithmeticConversions(LHS, RHS);
10633         QualType T = Context.getCanonicalType(TI->getType()).getUnqualifiedType();
10644 QualType Sema::CheckCompareOperands(ExprResult &LHS, ExprResult &RHS,
10650     QualType Ty = E.get()->getType();
10689   QualType LHSType = LHS.get()->getType();
10690   QualType RHSType = RHS.get()->getType();
10708     QualType CompositeTy = LHS.get()->getType();
10796     QualType LCanPointeeTy =
10798     QualType RCanPointeeTy =
10912     QualType lpointee = LHSType->castAs<BlockPointerType>()->getPointeeType();
10913     QualType rpointee = RHSType->castAs<BlockPointerType>()->getPointeeType();
11089 QualType Sema::GetSignedVectorType(QualType V) {
11089 QualType Sema::GetSignedVectorType(QualType V) {
11129 QualType Sema::CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS,
11134   QualType vType = CheckVectorOperands(LHS, RHS, Loc, /*isCompAssign*/false,
11140   QualType LHSType = LHS.get()->getType();
11278 QualType Sema::CheckVectorLogicalOperands(ExprResult &LHS, ExprResult &RHS,
11282   QualType vType = CheckVectorOperands(LHS, RHS, Loc, false,
11300 inline QualType Sema::CheckBitwiseOperands(ExprResult &LHS, ExprResult &RHS,
11322   QualType compType = UsualArithmeticConversions(LHSResult, RHSResult,
11338 inline QualType Sema::CheckLogicalOperands(ExprResult &LHS, ExprResult &RHS,
11491 static bool IsTypeModifiable(QualType Ty, bool IsDereference) {
11653       QualType FieldTy = Field->getType();
11681   QualType Ty = E->getType();
11875 QualType Sema::CheckAssignmentOperands(Expr *LHSExpr, ExprResult &RHS,
11884   QualType LHSType = LHSExpr->getType();
11885   QualType RHSType = CompoundType.isNull() ? RHS.get()->getType() :
11903     QualType LHSTy(LHSType);
12078 static QualType CheckCommaOperands(Sema &S, ExprResult &LHS, ExprResult &RHS,
12114 static QualType CheckIncrementDecrementOperand(Sema &S, Expr *Op,
12122   QualType ResType = Op->getType();
12285 QualType Sema::CheckAddressOfOperand(ExprResult &OrigOp, SourceLocation OpLoc) {
12410     QualType MPTy = Context.getMemberPointerType(
12466           QualType MPTy = Context.getMemberPointerType(
12520 static QualType CheckIndirectionOperand(Sema &S, Expr *Op, ExprValueKind &VK,
12529   QualType OpTy = Op->getType();
12530   QualType Result;
12533     QualType OpOrigType = Op->IgnoreParenCasts()->getType();
12750   QualType BinOpResTy = RHS.get()->getType();
12791                                      QualType SrcType) {
12822   QualType ResultTy;     // Result type of the binary operator.
12824   QualType CompLHSTy;    // Type of LHS after promotions for computation
12825   QualType CompResultTy; // Type of computation result
12835     QualType LHSTy = LHSExpr->getType();
12836     QualType RHSTy = RHSExpr->getType();
13440 static bool isOverflowingIntegerType(ASTContext &Ctx, QualType T) {
13456   QualType resultType;
13461     QualType Ty = InputExpr->getType();
13556       QualType T = resultType->castAs<ExtVectorType>()->getElementType();
13601         QualType T = resultType->castAs<ExtVectorType>()->getElementType();
13803   QualType Ty = Context.VoidTy;
13859   QualType ArgTy = TInfo->getType();
13878   QualType CurrentType = ArgTy;
14026   QualType ArgTy = GetTypeFromParser(ParsedArgTy, &ArgTInfo);
14045   QualType resType;
14118   QualType T = Sig->getType();
14163   QualType RetTy = Fn->getReturnType();
14195     for (const auto &I : Fn->param_types()) {
14258   QualType RetTy = Context.VoidTy;
14263   QualType BlockTy;
14411       if (var->getType().isDestructedType() != QualType::DK_none) {
14456     QualType MSVaListType = Context.getBuiltinMSVaListType();
14465   QualType VaListType = Context.getBuiltinVaListType();
14525     QualType PromoteType;
14541   QualType T = TInfo->getType().getNonLValueExprType(Context);
14548   QualType Ty;
14577 bool Sema::ConversionToObjCStringLiteralCheck(QualType DstType, Expr *&Exp,
14612 static bool maybeDiagnoseAssignmentToFunction(Sema &S, QualType DstType,
14633                                     QualType DstType, QualType SrcType,
14633                                     QualType DstType, QualType SrcType,
14783   QualType FirstType, SecondType;
14900                                            QualType T) override {
14905           Sema &S, SourceLocation Loc, QualType T) override {
14910           Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
14910           Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
14915           Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
14921           Sema &S, SourceLocation Loc, QualType T) override {
14926           Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
14932           Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
14932           Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
15100     QualType Inner;
15101     QualType Ty = E->getType();
15312     void diagnose(Sema &S, SourceLocation Loc, QualType T) override {
15637   QualType CaptureType, DeclRefType;
15700                                       QualType &CaptureType,
15701                                       QualType &DeclRefType) {
15815                                  QualType &CaptureType,
15816                                  QualType &DeclRefType,
15851     QualType PointeeTy = PT->getPointeeType();
15890                                     QualType &CaptureType,
15891                                     QualType &DeclRefType,
15927                             QualType &CaptureType,
15928                             QualType &DeclRefType,
16023     SourceLocation EllipsisLoc, bool BuildAndDiagnose, QualType &CaptureType,
16024     QualType &DeclRefType, const unsigned *const FunctionScopeIndexToStopAt) {
16121       QualType QTy = Var->getType();
16139             QualType QTy = Var->getType();
16247   QualType CaptureType;
16248   QualType DeclRefType;
16255   QualType CaptureType;
16256   QualType DeclRefType;
16262 QualType Sema::getCapturedDeclRefType(VarDecl *Var, SourceLocation Loc) {
16263   QualType CaptureType;
16264   QualType DeclRefType;
16993 void Sema::MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T) {
17045       QualType Destroyed = S.Context.getBaseElementType(E->getDestroyedType());
17140 bool Sema::CheckCallReturnType(QualType ReturnType, SourceLocation Loc,
17161     void diagnose(Sema &S, SourceLocation Loc, QualType T) override {
17287     QualType T = E->getType();
17428     QualType DestType;
17430     RebuildUnknownAnyExpr(Sema &S, QualType CastType)
17518   QualType CalleeType = CalleeExpr->getType();
17570     ArrayRef<QualType> ParamTypes = Proto->getParamTypes();
17571     SmallVector<QualType, 8> ArgTypes;
17576         QualType ArgType = Arg->getType();
17677   QualType Type = DestType;
17700       QualType FDT = FD->getType();
17716         for (const auto &AI : FT->param_types()) {
17980   QualType BoolT = Context.ObjCBuiltinBoolTy;
tools/clang/lib/Sema/SemaExprCXX.cpp
   54   QualType Type;
   94     QualType T = Context.getDependentNameType(ETK_None, SS.getScopeRep(), &II);
  125   QualType T = Context.getTypeDeclType(InjectedClassName);
  160   QualType SearchType;
  257       QualType T = Context.getTypeDeclType(Type);
  279       QualType MemberOfType;
  350     QualType T = CheckTypenameType(ETK_None, SourceLocation(),
  357     QualType T = Context.getTypeDeclType(NonMatchingTypeDecl);
  391   QualType T = BuildDecltypeType(DS.getRepAsExpr(), DS.getTypeSpecTypeLoc());
  395   QualType SearchType = GetTypeFromParser(ObjectType);
  446   QualType T
  476     QualType T = E->getType();
  513     QualType UnqualT = Context.getUnqualifiedArrayType(T, Quals);
  569   QualType TypeInfoType = Context.getTypeDeclType(CXXTypeInfoDecl);
  574     QualType T = GetTypeFromParser(ParsedType::getFromOpaquePtr(TyOrExpr),
  592 getUuidAttrOfType(Sema &SemaRef, QualType QT,
  684   QualType GuidType = Context.getTypeDeclType(MSVCGuidDecl);
  689     QualType T = GetTypeFromParser(ParsedType::getFromOpaquePtr(TyOrExpr),
  775     QualType ExceptionObjectTy = Context.getExceptionObjectType(Ex->getType());
  863                                 QualType ExceptionObjectTy, Expr *E) {
  866   QualType Ty = ExceptionObjectTy;
  970 static QualType adjustCVQualifiersForCXXThisWithinLambda(
  971     ArrayRef<FunctionScopeInfo *> FunctionScopes, QualType ThisTy,
  974   QualType ClassType = ThisTy->getPointeeType();
 1081 QualType Sema::getCurrentThisType() {
 1083   QualType ThisTy = CXXThisTypeOverride;
 1100     QualType ClassTy = Context.getTypeDeclType(cast<CXXRecordDecl>(DC));
 1130   QualType T = S.Context.getRecordType(Record);
 1234   QualType ThisTy = getCurrentThisType();
 1241     QualType CaptureType = ThisTy;
 1262   QualType ThisTy = getCurrentThisType();
 1268 Expr *Sema::BuildCXXThisExpr(SourceLocation Loc, QualType Type,
 1279 bool Sema::isThisOutsideMemberFunctionBody(QualType BaseType) {
 1305   QualType Ty = GetTypeFromParser(TypeRep, &TInfo);
 1326   QualType Ty = TInfo->getType();
 1379   QualType ElemTy = Ty;
 1422     QualType ResultType = Result.get()->getType();
 1554 static bool hasNewExtendedAlignment(Sema &S, QualType AllocType) {
 1601                                          QualType allocType) {
 1706   QualType AllocType = TInfo->getType();
 1863     QualType DeducedType;
 1896   QualType ResultType = Context.getPointerType(AllocType);
 1936                                              QualType T) override {
 1942             Sema &S, SourceLocation Loc, QualType T) override {
 1948             Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
 1948             Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
 1953             Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
 1959             Sema &S, SourceLocation Loc, QualType T) override {
 1964             Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
 1970                                                  QualType T,
 1971                                                  QualType ConvTy) override {
 1987     QualType SizeType = (*ArraySize)->getType();
 2116     QualType InitType;
 2185 bool Sema::CheckAllocatedType(QualType AllocType, SourceLocation Loc,
 2211       QualType BaseAllocType = Context.getBaseElementType(AT);
 2347                                    QualType AllocType, bool IsArray,
 2375   QualType AlignValT = Context.VoidTy;
 2395   QualType AllocElemType = Context.getBaseElementType(AllocType);
 2516     QualType ExpectedFunctionType;
 2521       SmallVector<QualType, 4> ArgTypes;
 2727   QualType VoidPtr = Context.getPointerType(Context.VoidTy);
 2728   QualType SizeT = Context.getSizeType();
 2732     llvm::SmallVector<QualType, 3> Params;
 2768                                            QualType Return,
 2769                                            ArrayRef<QualType> Params) {
 2780         llvm::SmallVector<QualType, 3> FuncParams;
 2798   QualType BadAllocType;
 2815     QualType FnType = Context.getFunctionType(Return, Params, EPI);
 2829     for (QualType T : Params) {
 3241     QualType Type = Ex.get()->getType();
 3247       bool match(QualType ConvType) override {
 3257                                             QualType T) override {
 3262                                                QualType T) override {
 3267                                                  QualType T,
 3268                                                  QualType ConvTy) override {
 3273                                              QualType ConvTy) override {
 3279                                               QualType T) override {
 3284                                           QualType ConvTy) override {
 3290                                                QualType T,
 3291                                                QualType ConvTy) override {
 3305     QualType Pointee = Type->castAs<PointerType>()->getPointeeType();
 3306     QualType PointeeElem = Context.getBaseElementType(Pointee);
 3419     QualType ParamType = OperatorDelete->getParamDecl(0)->getType();
 3426         QualType Unqual = Context.getPointerType(
 3555     QualType ParamTy = OperatorNewOrDelete->getParamDecl(i)->getType();
 3597   QualType ClassType = dtor->getThisType()->getPointeeType();
 3636   QualType T = ConditionVar->getType();
 3690 Sema::IsStringLiteralToNonConstPointerConversion(Expr *From, QualType ToType) {
 3813       QualType BeforeToType;
 3901   QualType FromType = From->getType();
 3944   QualType ToAtomicType;
 3950   QualType InitialFromType = FromType;
 4037     QualType FromEl = From->getType()->castAs<ComplexType>()->getElementType();
 4038     QualType ToEl = ToType->castAs<ComplexType>()->getElementType();
 4178       QualType ElType = ToComplex->getElementType();
 4202       QualType ElType = FromComplex->getElementType();
 4351                                                 QualType ArgTy) {
 4503                                    SourceLocation KeyLoc, QualType T) {
 4904 static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, QualType LhsT,
 4905                                     QualType RhsT, SourceLocation KeyLoc);
 4943       QualType ArgTy = TSI->getType();
 4953     QualType T = Args[0]->getType();
 4966       QualType ArgTy = Args[I]->getType();
 5030   QualType ResultType = Context.getLogicalOperationType();
 5060     QualType T = GetTypeFromParser(Args[I], &TInfo);
 5070 static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, QualType LhsT,
 5071                                     QualType RhsT, SourceLocation KeyLoc) {
 5131     QualType Lhs = Self.getASTContext().getUnqualifiedArrayType(LhsT, LhsQuals);
 5132     QualType Rhs = Self.getASTContext().getUnqualifiedArrayType(RhsT, RhsQuals);
 5284   QualType T = GetTypeFromParser(Ty, &TSInfo);
 5292                                            QualType T, Expr *DimExpr,
 5350   QualType T = TSInfo->getType();
 5406 QualType Sema::CheckPointerToMemberOperands(ExprResult &LHS, ExprResult &RHS,
 5432   QualType RHSType = RHS.get()->getType();
 5440   QualType Class(MemPtr->getClass(), 0);
 5452   QualType LHSType = LHS.get()->getType();
 5485     QualType UseType = Context.getQualifiedType(Class, LHSType.getQualifiers());
 5505   QualType Result = MemPtr->getPointeeType();
 5571                                 QualType &ToType) {
 5589     QualType T = To->isLValue() ? Self.Context.getLValueReferenceType(ToType)
 5608   QualType FTy = From->getType();
 5609   QualType TTy = To->getType();
 5737 QualType Sema::CXXCheckConditionalOperands(ExprResult &Cond, ExprResult &LHS,
 5772   QualType LTy = LHS.get()->getType();
 5773   QualType RTy = RHS.get()->getType();
 5813     QualType L2RType, R2LType;
 5979     QualType ResTy = UsualArithmeticConversions(LHS, RHS);
 6007   QualType Composite = FindCompositePointerType(QuestionLoc, LHS, RHS);
 6029                     SmallVectorImpl<QualType> &ExceptionTypeStorage) {
 6079     llvm::SmallPtrSet<QualType, 8> Found;
 6081       for (QualType E : Exceptions)
 6110 QualType Sema::FindCompositePointerType(SourceLocation Loc,
 6118   QualType T1 = E1->getType(), T2 = E2->getType();
 6193   QualType Composite1 = T1;
 6194   QualType Composite2 = T2;
 6260         SmallVector<QualType, 8> ExceptionTypeStorage;
 6305     QualType Composite;
 6312                QualType Composite)
 6378       QualType T = Callee->getType();
 6717   QualType BaseType = Base->getType();
 6736     QualType StartingType = BaseType;
 6845 static bool CheckArrow(Sema& S, QualType& ObjectType, Expr *&Base,
 6882                                                    QualType DestructedType) {
 6906   QualType ObjectType;
 6925     QualType DestructedType = DestructedTypeInfo->getType();
 6989     QualType ScopeType = ScopeTypeInfo->getType();
 7030   QualType ObjectType;
 7046   QualType DestructedType;
 7107   QualType ScopeType;
 7165   QualType ObjectType;
 7169   QualType T = BuildDecltypeType(DS.getRepAsExpr(), DS.getTypeSpecTypeLoc(),
 7230   QualType ResultType = Method->getReturnType();
 7506       QualType CaptureType, DeclRefType;
tools/clang/lib/Sema/SemaExprMember.cpp
  298 static QualType
  299 CheckExtVectorComponent(Sema &S, QualType baseType, ExprValueKind &VK,
  416   QualType VT = S.Context.getExtVectorType(vecType->getElementType(), CompSize);
  480 Sema::ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType,
  524                                              QualType BaseType,
  550                                          QualType BaseType,
  658     QualType ObjectType = SS.isSet() ? QualType() : QualType(RTy, 0);
  744 Sema::BuildMemberReferenceExpr(Expr *Base, QualType BaseType,
  765     QualType RecordTy = BaseType;
  900     QualType Ty, ExprValueKind VK, ExprObjectKind OK,
  913     QualType Ty, ExprValueKind VK, ExprObjectKind OK,
  960 Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
  970   QualType BaseType = BaseExprType;
 1140     QualType type;
 1198   QualType redef;
 1217 static bool isRecordType(QualType T) {
 1220 static bool isPointerToRecordType(QualType T) {
 1257   QualType BaseType = BaseExpr.get()->getType();
 1610     QualType ret = CheckExtVectorComponent(S, BaseType, VK, OpLoc,
 1739   QualType ResultTy = E->getType();
 1776   QualType MemberType = Field->getType();
 1781     QualType BaseType = BaseExpr->getType();
 1846   QualType ThisTy = getCurrentThisType();
tools/clang/lib/Sema/SemaExprObjC.cpp
   69     QualType StrTy = Context.getConstantArrayType(
   89   QualType Ty = Context.getObjCConstantStringInterface();
  156   QualType ReturnType = Method->getReturnType();
  242                                                 QualType NumberType,
  277     QualType NSNumberObject = CX.getObjCInterfaceType(S.NSNumberDecl);
  316   QualType NumberType = Number->getType();
  385                                                     QualType T,
  505   QualType BoxedType;
  513   QualType ValueType(ValueExpr->getType());
  515     QualType PointeeType = PT->getPointeeType();
  524         QualType NSStringObject = Context.getObjCInterfaceType(NSStringDecl);
  569           QualType ConstCharType = Context.CharTy.withConst();
  657       QualType NSValueObject = Context.getObjCInterfaceType(NSValueDecl);
  700         QualType ConstCharType = Context.CharTy.withConst();
  807   QualType IdT = Context.getObjCIdType();
  845     QualType T = Method->parameters()[0]->getType();
  874   QualType ObjectsType = ArrayWithObjectsMethod->parameters()[0]->getType();
  875   QualType RequiredType = ObjectsType->castAs<PointerType>()->getPointeeType();
  890   QualType Ty
  913   QualType IdT = Context.getObjCIdType();
  962     QualType ValueT = Method->parameters()[0]->getType();
  976     QualType KeyT = Method->parameters()[1]->getType();
 1014     QualType CountType = Method->parameters()[2]->getType();
 1029   QualType ValuesT = DictionaryWithObjectsMethod->parameters()[0]->getType();
 1030   QualType ValueT = ValuesT->castAs<PointerType>()->getPointeeType();
 1031   QualType KeysT = DictionaryWithObjectsMethod->parameters()[1]->getType();
 1032   QualType KeyT = KeysT->castAs<PointerType>()->getPointeeType();
 1068   QualType Ty
 1079   QualType EncodedType = EncodedTypeInfo->getType();
 1080   QualType StrTy;
 1092     QualType NotEncodedT;
 1113   QualType EncodedType = GetTypeFromParser(ty, &TInfo);
 1234   QualType Ty = Context.getObjCSelType();
 1256   QualType Ty = Context.getObjCProtoType();
 1279 static QualType stripObjCInstanceType(ASTContext &Context, QualType T) {
 1279 static QualType stripObjCInstanceType(ASTContext &Context, QualType T) {
 1280   QualType origType = T;
 1303 static QualType getBaseMessageSendResultType(Sema &S,
 1304                                              QualType ReceiverType,
 1368 QualType Sema::getMessageSendResultType(const Expr *Receiver,
 1369                                         QualType ReceiverType,
 1374   QualType resultType = getBaseMessageSendResultType(*this, ReceiverType,
 1388       QualType T = Method->getSendResultType(ReceiverType);
 1396         QualType NewResultType = Context.getObjCObjectPointerType(
 1466                                  QualType instancetype) {
 1498 void Sema::EmitRelatedResultTypeNoteForReturn(QualType destType) {
 1554     const Expr *Receiver, QualType ReceiverType, MultiExprArg Args,
 1557     SourceLocation rbrac, SourceRange RecRange, QualType &ReturnType,
 1573         QualType paramTy; // ignored
 1653   Optional<ArrayRef<QualType>> typeArgs
 1680       QualType paramType;
 1693     QualType origParamType = param->getType();
 1694     QualType paramType = param->getType();
 1777 ObjCMethodDecl *Sema::LookupMethodInObjectType(Selector sel, QualType type,
 1821                           SourceLocation SuperLoc, QualType SuperType,
 1975     QualType T = Ivar->getType();
 2008   QualType SuperType;
 2023             QualType T = Context.getObjCObjectPointerType(SuperType);
 2177     QualType T;
 2211       QualType T = Context.getObjCInterfaceType(Class);
 2243   QualType SuperTy(Class->getSuperClassType(), 0);
 2273 ExprResult Sema::BuildClassMessageImplicit(QualType ReceiverType,
 2335                                ArrayRef<Expr *> Args, QualType ReceiverType,
 2366   QualType Ret = ImpliedMethod->getReturnType();
 2368     QualType Ret = ImpliedMethod->getReturnType();
 2448                                    QualType ReceiverType,
 2525   QualType ReturnType;
 2599   QualType ReceiverType = GetTypeFromParser(Receiver, &ReceiverTypeInfo);
 2613                                               QualType ReceiverType,
 2671                                       QualType ReceiverType,
 3023   QualType ReturnType;
 3270 static ARCConversionTypeClass classifyTypeForARCConversion(QualType type) {
 3341     static bool isCFType(QualType type) {
 3549                                          QualType castType,
 3647   QualType QT = TDNDecl->getUnderlyingType();
 3657 static ObjCBridgeRelatedAttr *ObjCBridgeRelatedAttrFromType(QualType T,
 3671                           QualType castType, ARCConversionTypeClass castACTC,
 3682   QualType castExprType = castExpr->getType();
 3802 static bool CheckObjCBridgeNSCast(Sema &S, QualType castType, Expr *castExpr,
 3804   QualType T = castExpr->getType();
 3868 static bool CheckObjCBridgeCFCast(Sema &S, QualType castType, Expr *castExpr,
 3870   QualType T = castType;
 3936 void Sema::CheckTollFreeBridgeCast(QualType castType, Expr *castExpr) {
 3986 void Sema::CheckObjCBridgeRelatedCast(QualType castType, Expr *castExpr) {
 3987   QualType SrcType = castExpr->getType();
 4007 bool Sema::CheckTollFreeBridgeStaticCast(QualType castType, Expr *castExpr,
 4025                                             QualType DestType, QualType SrcType,
 4025                                             QualType DestType, QualType SrcType,
 4031   QualType T = CfToNs ? SrcType : DestType;
 4099                                         QualType DestType, QualType SrcType,
 4099                                         QualType DestType, QualType SrcType,
 4136         QualType receiverType = Context.getObjCInterfaceType(RelatedClass);
 4193 Sema::CheckObjCConversion(SourceRange castRange, QualType castType,
 4197   QualType castExprType = castExpr->getType();
 4201   QualType effCastType = castType;
 4214       QualType QDT = castType;
 4314   QualType castType;
 4379 bool Sema::CheckObjCARCUnavailableWeakConversion(QualType castType,
 4380                                                  QualType exprType) {
 4381   QualType canCastType =
 4383   QualType canExprType =
 4442   QualType T = TSInfo->getType();
 4443   QualType FromType = SubExpr->getType();
 4552   QualType T = GetTypeFromParser(Type, &TSInfo);
tools/clang/lib/Sema/SemaFixItUtils.cpp
   51                                                   const QualType FromTy,
   52                                                   const QualType ToTy,
  200 Sema::getFixItZeroInitializerForType(QualType T, SourceLocation Loc) const {
  219 Sema::getFixItZeroLiteralForType(QualType T, SourceLocation Loc) const {
tools/clang/lib/Sema/SemaInit.cpp
   38 static bool IsWideCharCompatible(QualType T, ASTContext &Context) {
   79   const QualType ElemTy =
  135 static StringInitFailureKind IsStringInit(Expr *init, QualType declType,
  145 static void updateStringLiteralType(Expr *E, QualType Ty) {
  188 static void CheckStringInit(Expr *Str, QualType &DeclT, const ArrayType *AT,
  295                              InitListExpr *ParentIList, QualType T,
  299                              InitListExpr *IList, QualType &T,
  303                              InitListExpr *IList, QualType &DeclType,
  310                            InitListExpr *IList, QualType ElemType,
  315                         InitListExpr *IList, QualType DeclType,
  320                        InitListExpr *IList, QualType DeclType,
  325                           InitListExpr *IList, QualType DeclType,
  330                        InitListExpr *IList, QualType DeclType, unsigned &Index,
  334                              InitListExpr *IList, QualType DeclType,
  342                       InitListExpr *IList, QualType &DeclType,
  350                                   QualType &CurrentObjectType,
  359                                            QualType CurrentObjectType,
  367   InitListExpr *createInitListExpr(QualType CurrentObjectType,
  370   int numArrayElements(QualType DeclType);
  371   int numStructUnionElements(QualType DeclType);
  472                   QualType &T, bool VerifyOnly, bool TreatUnavailableAsInvalid,
  829   QualType ElementType;
  937                                  InitListExpr *IL, QualType &T, bool VerifyOnly,
  966 int InitListChecker::numArrayElements(QualType DeclType) {
  976 int InitListChecker::numStructUnionElements(QualType DeclType) {
 1026                                             QualType T, unsigned &Index,
 1171                                             InitListExpr *IList, QualType &T,
 1178     QualType ExprTy = T;
 1247                                             QualType &DeclType,
 1311                                           QualType ElemType,
 1469                                        InitListExpr *IList, QualType DeclType,
 1493   QualType elementType = DeclType->castAs<ComplexType>()->getElementType();
 1505                                       InitListExpr *IList, QualType DeclType,
 1577                                          InitListExpr *IList, QualType DeclType,
 1635                                       InitListExpr *IList, QualType DeclType,
 1642   QualType elementType = VT->getElementType();
 1758     QualType IType = IList->getInit(Index)->getType();
 1764       QualType VecType;
 1799 static bool checkDestructorReference(QualType ElementType, SourceLocation Loc,
 1814                                      InitListExpr *IList, QualType &DeclType,
 1876   QualType elementType = arrayType->getElementType();
 1993     const InitializedEntity &Entity, InitListExpr *IList, QualType DeclType,
 2014         QualType ET = SemaRef.Context.getBaseElementType(FD->getType());
 2116         QualType ET = SemaRef.Context.getBaseElementType(F->getType());
 2165       QualType ET = SemaRef.Context.getBaseElementType(Field->getType());
 2221       QualType ET = SemaRef.Context.getBaseElementType(I->getType());
 2361                                             QualType &CurrentObjectType,
 2728       QualType FieldType = Field->getType();
 2862     QualType CharTy = AT->getElementType();
 2865     QualType PromotedCharTy = CharTy;
 2932     QualType ElementType = AT->getElementType();
 2972                                             QualType CurrentObjectType,
 3037 InitListChecker::createInitListExpr(QualType CurrentObjectType,
 3045   QualType ResultType = CurrentObjectType;
 3095   QualType Type = Entity.getType();
 3530 void InitializationSequence::AddDerivedToBaseCastStep(QualType BaseType,
 3542 void InitializationSequence::AddReferenceBindingStep(QualType T,
 3550 void InitializationSequence::AddFinalCopy(QualType T) {
 3557 void InitializationSequence::AddExtraneousCopyToTemporary(QualType T) {
 3567                                               QualType T,
 3578 void InitializationSequence::AddQualificationConversionStep(QualType Ty,
 3597 void InitializationSequence::AddAtomicConversionStep(QualType Ty) {
 3605     const ImplicitConversionSequence &ICS, QualType T,
 3615 void InitializationSequence::AddListInitializationStep(QualType T) {
 3623     DeclAccessPair FoundDecl, CXXConstructorDecl *Constructor, QualType T,
 3636 void InitializationSequence::AddZeroInitializationStep(QualType T) {
 3643 void InitializationSequence::AddCAssignmentStep(QualType T) {
 3650 void InitializationSequence::AddStringInitStep(QualType T) {
 3657 void InitializationSequence::AddObjCObjectConversionStep(QualType T) {
 3664 void InitializationSequence::AddArrayInitStep(QualType T, bool IsGNUExtension) {
 3671 void InitializationSequence::AddArrayInitLoopStep(QualType T, QualType EltT) {
 3671 void InitializationSequence::AddArrayInitLoopStep(QualType T, QualType EltT) {
 3682 void InitializationSequence::AddParenthesizedArrayInitStep(QualType T) {
 3689 void InitializationSequence::AddPassByIndirectCopyRestoreStep(QualType type,
 3698 void InitializationSequence::AddProduceObjCObjectStep(QualType T) {
 3705 void InitializationSequence::AddStdInitializerListConstructionStep(QualType T) {
 3712 void InitializationSequence::AddOCLSamplerInitStep(QualType T) {
 3719 void InitializationSequence::AddOCLZeroOpaqueTypeStep(QualType T) {
 3726 void InitializationSequence::RewrapReferenceInitList(QualType T,
 3763   QualType VariableTy = VD->getType().getCanonicalType();
 3816                                            QualType DestType,
 3819   QualType E;
 3829   QualType ArrayType = S.Context.getConstantArrayType(
 3854   QualType ParmT =
 3856   QualType ClassT =
 3866                            QualType DestType,
 3987                                          MultiExprArg Args, QualType DestType,
 3988                                          QualType DestArrayType,
 4102     QualType ConvType = CD->getConversionType();
 4150                                              QualType &SourceType,
 4151                                              QualType &UnqualifiedSourceType,
 4152                                              QualType UnqualifiedTargetType,
 4179                                            QualType cv1T1, QualType T1,
 4179                                            QualType cv1T1, QualType T1,
 4181                                            QualType cv2T2, QualType T2,
 4181                                            QualType cv2T2, QualType T2,
 4209   QualType DestType = Entity.getType();
 4210   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4212   QualType T1 = S.Context.getUnqualifiedArrayType(cv1T1, T1Quals);
 4222     QualType cv2T2 = Initializer->getType();
 4224     QualType T2 = S.Context.getUnqualifiedArrayType(cv2T2, T2Quals);
 4272   QualType DestType = Entity.getType();
 4306       QualType InitType = InitList->getInit(0)->getType();
 4466   QualType DestType = Entity.getType();
 4467   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4468   QualType T1 = cv1T1.getUnqualifiedType();
 4469   QualType cv2T2 = Initializer->getType();
 4470   QualType T2 = cv2T2.getUnqualifiedType();
 4587   QualType cv3T3;
 4638   QualType cv1T4 = S.Context.getQualifiedType(cv3T3, cv1T1.getQualifiers());
 4664   QualType DestType = Entity.getType();
 4665   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4667   QualType T1 = S.Context.getUnqualifiedArrayType(cv1T1, T1Quals);
 4668   QualType cv2T2 = Initializer->getType();
 4670   QualType T2 = S.Context.getUnqualifiedArrayType(cv2T2, T2Quals);
 4696                                            QualType cv1T1, QualType T1,
 4696                                            QualType cv1T1, QualType T1,
 4698                                            QualType cv2T2, QualType T2,
 4698                                            QualType cv2T2, QualType T2,
 4701   QualType DestType = Entity.getType();
 4865     QualType cv1T4 = S.Context.getQualifiedType(cv2T2, T1QualsIgnoreAS);
 4874       QualType cv1T4WithAS = S.Context.getQualifiedType(T2, T4Quals);
 4924   QualType cv1T1IgnoreAS =
 5017   QualType T = Entity.getType();
 5093   QualType DestType = S.Context.getBaseElementType(Entity.getType());
 5126                                      QualType DestType,
 5132   QualType SourceType = Initializer->getType();
 5265   QualType ConvType = Function->getCallResultType();
 5427   QualType ArgType = Initializer->getType();
 5428   QualType ArgPointee;
 5436   QualType ConvertedArgType;
 5453     QualType ResultType;
 5471                                         QualType DestType,
 5489                                                QualType DestType,
 5616   QualType DestType = Entity.getType();
 5627   QualType SourceType;
 5736       QualType InitEltT =
 6103                              QualType T,
 6703 template <typename T> static bool isRecordWithAttr(QualType Type) {
 7575                                         QualType PreNarrowingType,
 7576                                         QualType EntityType,
 7588   QualType DestType = InitExpr->getType();
 7625     QualType SourceType = VD->getType();
 7692 Sema::CreateMaterializeTemporaryExpr(QualType T, Expr *Temporary,
 7718   QualType T = E->getType();
 7725 ExprResult Sema::PerformQualificationConversion(Expr *E, QualType Ty,
 7732     auto PointeeTy = Ty->getPointeeType();
 7733     auto ExprPointeeTy = E->getType()->getPointeeType();
 7748                                            QualType *ResultType) {
 7762     QualType DestType = Entity.getType();
 7775       QualType DeclType = Entity.getType();
 7837   QualType ETy = Entity.getType();
 7851   QualType DestType = Entity.getType().getNonReferenceType();
 7937     QualType SourceType = CurInit.get() ? CurInit.get()->getType() : QualType();
 8116         QualType T = CurInit.get()->getType();
 8194       QualType Ty = Step->Type;
 8329       QualType SourceType = CurInit.get()->getType();
 8366       QualType Ty = Step->Type;
 8486       QualType SourceType = Init->getType();
 8597                                            QualType T) {
 8637   QualType destType = entity.getType();
 8654   QualType DestType = Entity.getType();
 8656   QualType E;
 8658     QualType ArrayType = S.Context.getConstantArrayType(
 8672     QualType T = DestType->castAs<ReferenceType>()->getPointeeType();
 8708   QualType DestType = Entity.getType();
 8899     QualType SourceType = OnlyArg->getType();
 8900     QualType NonRefType = DestType.getNonReferenceType();
 8928     QualType FromType = OnlyArg->getType();
 9491                                         QualType PreNarrowingType,
 9492                                         QualType EntityType,
 9510   QualType ConstantType;
 9668 QualType Sema::DeduceTemplateSpecializationFromInitializer(
 9916   QualType DeducedType =
tools/clang/lib/Sema/SemaLambda.cpp
  202     QualType CaptureType, DeclRefType;
  365   QualType MethodType = MethodTypeInfo->getType();
  373     QualType Result = FPT->getReturnType();
  667                                      QualType returnType) {
  762     QualType ReturnType =
  785 QualType Sema::buildLambdaInitCaptureInitialization(
  791   QualType DeductType = Context.getAutoDeductType();
  814   QualType DeducedType = deduceVarTypeFromInitializer(
  838   QualType DclT;
  850                                               QualType InitCaptureType,
  926     QualType DefaultTypeForNoTrailingReturn =
  929     QualType MethodTy =
 1056       QualType ThisCaptureType = getCurrentThisType();
 1256 QualType Sema::getLambdaConversionFunctionResultType(
 1289   QualType InvokerFunctionTy = S.getLambdaConversionFunctionResultType(
 1291   QualType PtrToFunctionTy = S.Context.getPointerType(InvokerFunctionTy);
 1301   QualType ConvTy =
 1440   QualType FunctionTy = S.getLambdaConversionFunctionResultType(
 1442   QualType BlockPtrTy = S.Context.getBlockPointerType(FunctionTy);
 1449   QualType ConvTy = S.Context.getFunctionType(BlockPtrTy, None, ConversionEPI);
 1499     QualType ThisTy = getCurrentThisType();
 1564   const QualType T = From.isThisCapture()
 1602   QualType FieldType = Capture.getCaptureType();
tools/clang/lib/Sema/SemaLookup.cpp
  500   llvm::SmallDenseMap<QualType, unsigned, 16> UniqueTypes;
  529       QualType T = getSema().Context.getTypeDeclType(TD);
  689     unsigned &GenTypeMaxCnt, SmallVector<QualType, 1> &RetTypes,
  699     SmallVector<QualType, 1> Ty;
  718     std::vector<QualType> &FunctionList, SmallVector<QualType, 1> &RetTypes,
  718     std::vector<QualType> &FunctionList, SmallVector<QualType, 1> &RetTypes,
  725     SmallVector<QualType, 5> ArgList;
  774     SmallVector<QualType, 1> RetTypes;
  775     SmallVector<SmallVector<QualType, 1>, 5> ArgTypes;
  785     std::vector<QualType> FunctionList;
 1082     QualType ExpectedType
 2322   QualType SubobjectType;
 2546     QualType SubobjectType = Paths->front().back().Base->getType();
 2636 addAssociatedClassesAndNamespaces(AssociatedLookup &Result, QualType T);
 2809 addAssociatedClassesAndNamespaces(AssociatedLookup &Result, QualType Ty) {
 2890       for (const auto &Arg : Proto->param_types())
 3040                                         QualType T1, QualType T2,
 3040                                         QualType T1, QualType T2,
 3119   QualType ArgType = CanTy;
 3183   QualType ThisTy = CanTy;
 3379                             ArrayRef<QualType> ArgTys,
 3417           QualType ParamTy = FD->getParamDecl(ArgIdx)->getType();
 3835         QualType BaseType = B.getType();
 5223         QualType ValType = cast<ValueDecl>(ND)->getType();
tools/clang/lib/Sema/SemaObjCProperty.cpp
   40                                                 QualType type) {
  130 static unsigned deducePropertyOwnershipFromType(Sema &S, QualType T) {
  188   QualType T = TSI->getType();
  423                                      QualType T,
  534     QualType ConvertedType;
  541     QualType PrimaryClassPropertyT = Context.getCanonicalType(PIDecl->getType());
  542     QualType ClassExtPropertyT = Context.getCanonicalType(PDecl->getType());
  576                                            QualType T,
  719   QualType ivarType = ivar->getType();
  808   QualType ivarType = ivar->getType();
  873   QualType RHSType = S.Context.getCanonicalType(Property->getType());
  937     QualType LHSType = S.Context.getCanonicalType(Prop->getType());
  940       QualType ConvertedType;
 1182     QualType PropType = property->getType();
 1183     QualType PropertyIvarType = PropType.getNonReferenceType();
 1331     QualType IvarType = Context.getCanonicalType(Ivar->getType());
 1358         QualType lhsType =Context.getCanonicalType(PropertyIvarType).getUnqualifiedType();
 1359         QualType rhsType =Context.getCanonicalType(IvarType).getUnqualifiedType();
 1482       QualType T = Param->getType().getNonReferenceType();
 1634   QualType LHSType =
 1636   QualType RHSType =
 1643     QualType ConvertedType;
 1659   QualType GetterType = GetterMethod->getReturnType().getNonReferenceType();
 1660   QualType PropertyRValueType =
 1679       QualType lhsType = Context.getCanonicalType(PropertyRValueType);
 1680       QualType rhsType =Context.getCanonicalType(GetterType).getUnqualifiedType();
 2386     QualType resultTy = property->getType().getAtomicUnqualifiedType();
 2391       QualType modifiedTy = resultTy;
 2458       QualType paramTy =
 2465         QualType modifiedTy = paramTy;
 2552   QualType PropertyTy = PropertyDecl->getType();
tools/clang/lib/Sema/SemaOpenMP.cpp
  151     llvm::DenseSet<QualType> MappedClassesQualTypes;
  259   QualType OMPAllocatorHandleT;
  270   void setOMPAllocatorHandleT(QualType Ty) { OMPAllocatorHandleT = Ty; }
  272   QualType getOMPAllocatorHandleT() const { return OMPAllocatorHandleT; }
  816   void addMappedClassesQualTypes(QualType QT) {
  822   bool isClassPreviouslyMapped(QualType QT) const {
 1100 static VarDecl *buildVarDecl(Sema &SemaRef, SourceLocation Loc, QualType Type,
 1121 static DeclRefExpr *buildDeclRefExpr(Sema &S, VarDecl *D, QualType Ty,
 1242 static bool isConstNotMutableType(Sema &SemaRef, QualType Type,
 1262                                       QualType Type, OpenMPClauseKind CKind,
 1707   QualType Ty = E->getType();
 1728   QualType Ty = D->getType();
 2166           QualType Type = VD->getType().getNonReferenceType();
 2375   QualType ExprType = VD->getType().getNonReferenceType();
 2434     QualType QType = VD->getType();
 3100     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3101     QualType KmpInt32PtrTy =
 3118     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3119     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3120     QualType KmpInt32PtrTy =
 3122     QualType Args[] = {VoidPtrTy};
 3125     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3163     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3164     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3165     QualType KmpInt32PtrTy =
 3167     QualType Args[] = {VoidPtrTy};
 3170     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3216     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3217     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3218     QualType KmpInt32PtrTy =
 3220     QualType Args[] = {VoidPtrTy};
 3223     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3248     QualType KmpInt32Ty =
 3251     QualType KmpUInt64Ty =
 3254     QualType KmpInt64Ty =
 3257     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3258     QualType KmpInt32PtrTy =
 3260     QualType Args[] = {VoidPtrTy};
 3263     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3290     QualType KmpInt32Ty =
 3293     QualType KmpUInt64Ty =
 3296     QualType KmpInt64Ty =
 3299     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3300     QualType KmpInt32PtrTy =
 3310     QualType Args[] = {VoidPtrTy};
 3313     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3341     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3342     QualType KmpInt32PtrTy =
 3357     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3358     QualType KmpInt32PtrTy =
 3360     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3362     QualType Args[] = {VoidPtrTy};
 3365     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3416     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3417     QualType KmpInt32PtrTy =
 3445     QualType KmpInt32Ty = Context.getIntTypeForBitwidth(32, 1).withConst();
 3446     QualType VoidPtrTy = Context.VoidPtrTy.withConst().withRestrict();
 3447     QualType KmpInt32PtrTy =
 3449     QualType Args[] = {VoidPtrTy};
 3452     QualType CopyFnType = Context.getFunctionType(Context.VoidTy, Args, EPI);
 3510   QualType Ty = Init->getType();
 3601     QualType Type = V->getType();
 3621             QualType ThisTy = getCurrentThisType();
 4796           QualType QTy = PVD->getType()
 5022     QualType FnPtrType;
 5949   QualType VarType = LCDecl->getType().getNonReferenceType();
 6163   QualType Type = Diff.get()->getType();
 6188       QualType NewType = C.getIntTypeForBitwidth(
 6233   QualType VarType = LCDecl->getType().getNonReferenceType();
 6385     QualType Type = LCDecl->getType().getNonReferenceType();
 6421   QualType VarType = LCDecl->getType().getNonReferenceType();
 6605     QualType VarType = LCDecl->getType().getNonReferenceType();
 6828   QualType OldType = E->getType();
 6833   QualType NewType = C.getIntTypeForBitwidth(Bits, /* Signed */ true);
 7090   QualType VType = LastIteration.get()->getType();
 7091   QualType RealVType = VType;
 7092   QualType StrideVType = VType;
 7154     QualType Int32Ty = SemaRef.Context.getIntTypeForBitwidth(32, true);
11046                                          QualType T) override {
11050                                              QualType T) override {
11054                                                QualType T,
11055                                                QualType ConvTy) override {
11059                                            QualType ConvTy) override {
11064                                             QualType T) override {
11068                                         QualType ConvTy) override {
11072     SemaDiagnosticBuilder diagnoseConversion(Sema &, SourceLocation, QualType,
11073                                              QualType) override {
11207   QualType OMPAllocatorHandleT = Stack->getOMPAllocatorHandleT();
11224     QualType AllocatorType =
12032     QualType Type = D->getType();
12200     QualType Type = D->getType();
12215     QualType ElemType = Context.getBaseElementType(Type).getNonReferenceType();
12476     QualType Type = D->getType();
12745                         SourceLocation Loc, QualType Ty,
13168       QualType Type = Context.DependentTy;
13186     QualType Type;
13192       QualType BaseType =
13345     QualType PrivateTy = Type;
13427         QualType OrigType = Type;
13438           QualType IntTy = Context.getIntTypeForBitwidth(Size, /*Signed=*/0);
13459           QualType IntTy =
13534       QualType RedTy = DeclareReductionRef.get()->getType();
13535       QualType PtrRedTy = Context.getPointerType(RedTy);
13549       QualType Params[] = {PtrRedTy, PtrRedTy};
13550       QualType FnTy = Context.getFunctionType(Context.VoidTy, Params, EPI);
13755                                  QualType Type) {
13821     QualType Type = D->getType();
14050     QualType QType = D->getType();
14140     QualType Type = VD->getType();
14163     QualType ElemType = Context.getBaseElementType(Type).getNonReferenceType();
14225     QualType Type = D->getType();
14516                               DSAStackTy *Stack, QualType QTy,
14534                                                         QualType BaseQTy) {
14591                                                         QualType BaseQTy) {
14728       QualType CurType = BaseE->getType().getNonReferenceType();
14793       QualType CurType =
14952           QualType Type;
14993         QualType DerivedType =
15415     QualType Type =
15546 QualType Sema::ActOnOpenMPDeclareReductionType(SourceLocation TyLoc,
15550   QualType ReductionType = GetTypeFromParser(ParsedType.get());
15580     ArrayRef<std::pair<QualType, SourceLocation>> ReductionTypes,
15591   llvm::DenseMap<QualType, SourceLocation> PreviousRedeclTypes;
15676   QualType ReductionType = DRD->getType();
15736   QualType ReductionType = DRD->getType();
15805   QualType T = TInfo->getType();
15817 QualType Sema::ActOnOpenMPDeclareMapperType(SourceLocation TyLoc,
15821   QualType MapperType = GetTypeFromParser(ParsedType.get());
15834     Scope *S, DeclContext *DC, DeclarationName Name, QualType MapperType,
15843   llvm::DenseMap<QualType, SourceLocation> PreviousRedeclTypes;
15913                                                     QualType MapperType,
16406     QualType Type = D->getType();
16486     QualType Type = D->getType();
tools/clang/lib/Sema/SemaOverload.cpp
   75 static bool IsStandardConversion(Sema &S, Expr* From, QualType ToType,
   82                                                  QualType &ToType,
   87 IsUserDefinedConversion(Sema &S, Expr *From, QualType ToType,
  242   QualType FromType = getFromType();
  243   QualType ToType = getToType(1);
  305     QualType &ConstantType, bool IgnoreFloatToIntegralConversion) const {
  310   QualType FromType = getToType(0);
  311   QualType ToType = getToType(1);
 1126   QualType OldQType = Context.getCanonicalType(Old->getType());
 1127   QualType NewQType = Context.getCanonicalType(New->getType());
 1267 TryUserDefinedConversion(Sema &S, Expr *From, QualType ToType,
 1301       QualType FromCanon
 1303       QualType ToCanon
 1370 TryImplicitConversion(Sema &S, Expr *From, QualType ToType,
 1396   QualType FromType = From->getType();
 1425 Sema::TryImplicitConversion(Expr *From, QualType ToType,
 1444 Sema::PerformImplicitConversion(Expr *From, QualType ToType,
 1451 Sema::PerformImplicitConversion(Expr *From, QualType ToType,
 1477 bool Sema::IsFunctionConversion(QualType FromType, QualType ToType,
 1477 bool Sema::IsFunctionConversion(QualType FromType, QualType ToType,
 1478                                 QualType &ResultTy) {
 1554       QualType QT = Context.getFunctionType(FromFPT->getReturnType(),
 1576 static bool IsVectorConversion(Sema &S, QualType FromType,
 1577                                QualType ToType, ImplicitConversionKind &ICK) {
 1616 static bool tryAtomicConversion(Sema &S, Expr *From, QualType ToType,
 1629 static bool IsStandardConversion(Sema &S, Expr* From, QualType ToType,
 1634   QualType FromType = From->getType();
 1666         QualType resultTy;
 1914   QualType CanonFrom = S.Context.getCanonicalType(FromType);
 1915   QualType CanonTo = S.Context.getCanonicalType(ToType);
 1973                                      QualType &ToType,
 1998 bool Sema::IsIntegralPromotion(Expr *From, QualType FromType, QualType ToType) {
 1998 bool Sema::IsIntegralPromotion(Expr *From, QualType FromType, QualType ToType) {
 2052       QualType Underlying = FromEnumType->getDecl()->getIntegerType();
 2090     QualType PromoteTypes[6] = {
 2159 bool Sema::IsFloatingPointPromotion(QualType FromType, QualType ToType) {
 2159 bool Sema::IsFloatingPointPromotion(QualType FromType, QualType ToType) {
 2193 bool Sema::IsComplexPromotion(QualType FromType, QualType ToType) {
 2193 bool Sema::IsComplexPromotion(QualType FromType, QualType ToType) {
 2214 static QualType
 2216                                    QualType ToPointee, QualType ToType,
 2216                                    QualType ToPointee, QualType ToType,
 2227   QualType CanonFromPointee
 2229   QualType CanonToPointee = Context.getCanonicalType(ToPointee);
 2249   QualType QualifiedCanonToPointee
 2287 bool Sema::IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
 2287 bool Sema::IsPointerConversion(Expr *From, QualType FromType, QualType ToType,
 2289                                QualType& ConvertedType,
 2337   QualType ToPointeeType = ToTypePtr->getPointeeType();
 2350   QualType FromPointeeType = FromTypePtr->getPointeeType();
 2423 static QualType AdoptQualifiers(ASTContext &Context, QualType T, Qualifiers Qs){
 2423 static QualType AdoptQualifiers(ASTContext &Context, QualType T, Qualifiers Qs){
 2439 bool Sema::isObjCPointerConversion(QualType FromType, QualType ToType,
 2439 bool Sema::isObjCPointerConversion(QualType FromType, QualType ToType,
 2440                                    QualType& ConvertedType,
 2489   QualType ToPointeeType;
 2512   QualType FromPointeeType;
 2583       QualType FromArgType = FromFunctionType->getParamType(ArgIdx);
 2584       QualType ToArgType = ToFunctionType->getParamType(ArgIdx);
 2619 bool Sema::isObjCWritebackConversion(QualType FromType, QualType ToType,
 2619 bool Sema::isObjCWritebackConversion(QualType FromType, QualType ToType,
 2620                                      QualType &ConvertedType) {
 2626   QualType ToPointee;
 2639   QualType FromPointee;
 2677 bool Sema::IsBlockPointerConversion(QualType FromType, QualType ToType,
 2677 bool Sema::IsBlockPointerConversion(QualType FromType, QualType ToType,
 2678                                     QualType& ConvertedType) {
 2679   QualType ToPointeeType;
 2686   QualType FromPointeeType;
 2723     QualType RHS = FromFunctionType->getReturnType();
 2724     QualType LHS = ToFunctionType->getReturnType();
 2745      QualType FromArgType = FromFunctionType->getParamType(ArgIdx);
 2746      QualType ToArgType = ToFunctionType->getParamType(ArgIdx);
 2782 static const FunctionProtoType *tryGetFunctionProtoType(QualType FromType) {
 2796                                       QualType FromType, QualType ToType) {
 2796                                       QualType FromType, QualType ToType) {
 2917 bool Sema::CheckPointerConversion(Expr *From, QualType ToType,
 2922   QualType FromType = From->getType();
 2940       QualType FromPointeeType = FromPtrType->getPointeeType(),
 3003 bool Sema::IsMemberPointerConversion(Expr *From, QualType FromType,
 3004                                      QualType ToType,
 3006                                      QualType &ConvertedType) {
 3026   QualType FromClass(FromTypePtr->getClass(), 0);
 3027   QualType ToClass(ToTypePtr->getClass(), 0);
 3045 bool Sema::CheckMemberPointerConversion(Expr *From, QualType ToType,
 3049   QualType FromType = From->getType();
 3064   QualType FromClass = QualType(FromPtrType->getClass(), 0);
 3065   QualType ToClass   = QualType(ToPtrType->getClass(), 0);
 3125 Sema::IsQualificationConversion(QualType FromType, QualType ToType,
 3125 Sema::IsQualificationConversion(QualType FromType, QualType ToType,
 3219 static bool tryAtomicConversion(Sema &S, Expr *From, QualType ToType,
 3244                                               QualType Type) {
 3248     QualType FirstArg = CtorType->getParamType(0);
 3256 IsInitializerListConstructorConversion(Sema &S, Expr *From, QualType ToType,
 3297     QualType ThisType = Constructor->getThisType();
 3333 IsUserDefinedConversion(Sema &S, Expr *From, QualType ToType,
 3479       QualType ThisType = Constructor->getThisType();
 3538 Sema::DiagnoseMultipleUserDefinedConversion(Expr *From, QualType ToType) {
 3803   QualType FromType = SCS.getFromType();
 3811   QualType UnderlyingType = Enum->getIntegerType();
 3899     QualType FromType1 = SCS1.getFromType();
 3900     QualType FromType2 = SCS2.getFromType();
 3909     QualType FromPointee1 = FromType1->getPointeeType().getUnqualifiedType();
 3910     QualType FromPointee2 = FromType2->getPointeeType().getUnqualifiedType();
 3954     QualType T1 = SCS1.getToType(2);
 3955     QualType T2 = SCS2.getToType(2);
 3959     QualType UnqualT1 = S.Context.getUnqualifiedArrayType(T1, T1Quals);
 3960     QualType UnqualT2 = S.Context.getUnqualifiedArrayType(T2, T2Quals);
 4049   QualType T1 = SCS1.getToType(2);
 4050   QualType T2 = SCS2.getToType(2);
 4054   QualType UnqualT1 = S.Context.getUnqualifiedArrayType(T1, T1Quals);
 4055   QualType UnqualT2 = S.Context.getUnqualifiedArrayType(T2, T2Quals);
 4153   QualType FromType1 = SCS1.getFromType();
 4154   QualType ToType1 = SCS1.getToType(1);
 4155   QualType FromType2 = SCS2.getFromType();
 4156   QualType ToType2 = SCS2.getToType(1);
 4182     QualType FromPointee1 =
 4184     QualType ToPointee1 =
 4186     QualType FromPointee2 =
 4188     QualType ToPointee2 =
 4308     QualType FromPointee1 = QualType(FromPointeeType1, 0).getUnqualifiedType();
 4309     QualType ToPointee1 = QualType(ToPointeeType1, 0).getUnqualifiedType();
 4310     QualType FromPointee2 = QualType(FromPointeeType2, 0).getUnqualifiedType();
 4311     QualType ToPointee2 = QualType(ToPointeeType2, 0).getUnqualifiedType();
 4359 static bool isTypeValid(QualType T) {
 4375                                    QualType OrigT1, QualType OrigT2,
 4375                                    QualType OrigT1, QualType OrigT2,
 4384   QualType T1 = Context.getCanonicalType(OrigT1);
 4385   QualType T2 = Context.getCanonicalType(OrigT2);
 4387   QualType UnqualT1 = Context.getUnqualifiedArrayType(T1, T1Quals);
 4388   QualType UnqualT2 = Context.getUnqualifiedArrayType(T2, T2Quals);
 4397   QualType ConvertedT2;
 4466                          QualType DeclType, SourceLocation DeclLoc,
 4467                          Expr *Init, QualType T2, bool AllowRvalues,
 4594 TryReferenceInit(Sema &S, Expr *Init, QualType DeclType,
 4604   QualType T1 = DeclType->castAs<ReferenceType>()->getPointeeType();
 4605   QualType T2 = Init->getType();
 4862 TryCopyInitialization(Sema &S, Expr *From, QualType ToType,
 4871 TryListConversion(Sema &S, InitListExpr *From, QualType ToType,
 4899       QualType InitType = From->getInit(0)->getType();
 4939   QualType X;
 5028     QualType T1 = ToType->castAs<ReferenceType>()->getPointeeType();
 5035       QualType T2 = Init->getType();
 5127 TryCopyInitialization(Sema &S, Expr *From, QualType ToType,
 5166 TryObjectArgumentInitialization(Sema &S, SourceLocation Loc, QualType FromType,
 5170   QualType ClassType = S.Context.getTypeDeclType(ActingContext);
 5179   QualType ImplicitParamType = S.Context.getQualifiedType(ClassType, Quals);
 5215   QualType FromTypeCanon = S.Context.getCanonicalType(FromType);
 5236   QualType ClassTypeCanon = S.Context.getCanonicalType(ClassType);
 5297   QualType FromRecordType, DestType;
 5298   QualType ImplicitParamRecordType  =
 5481                                                    QualType T, APValue &Value,
 5557   QualType PreNarrowingType;
 5621 ExprResult Sema::CheckConvertedConstantExpression(Expr *From, QualType T,
 5626 ExprResult Sema::CheckConvertedConstantExpression(Expr *From, QualType T,
 5655   QualType Ty = S.Context.getObjCIdType();
 5692   QualType Ty = Context.getObjCIdType();
 5702 bool Sema::ICEConvertDiagnoser::match(QualType T) {
 5710                             QualType T, UnresolvedSetImpl &ViableConversions) {
 5719     QualType ConvTy = Conv->getConversionType().getNonReferenceType();
 5728                            QualType T, bool HadMultipleCandidates,
 5737     QualType ConvTy = Conversion->getConversionType().getNonReferenceType();
 5768                              QualType T, bool HadMultipleCandidates,
 5774   QualType ToType = Conversion->getConversionType().getNonReferenceType();
 5805 collectViableConversionCandidates(Sema &SemaRef, Expr *From, QualType ToType,
 5867   QualType T = From->getType();
 5890     void diagnose(Sema &S, SourceLocation Loc, QualType T) override {
 5910   QualType ToType;
 5930     QualType CurToType = Conversion->getConversionType().getNonReferenceType();
 6043   QualType T1 = Args[0]->getType();
 6044   QualType T2 = Args.size() > 1 ? Args[1]->getType() : QualType();
 6057     QualType ArgType = Proto->getParamType(0).getNonReferenceType();
 6066     QualType ArgType = Proto->getParamType(1).getNonReferenceType();
 6163     QualType ClassType = Context.getTypeDeclType(Constructor->getParent());
 6183       QualType P = Constructor->getParamDecl(0)->getType()->getPointeeType();
 6184       QualType C = Context.getRecordType(Constructor->getParent());
 6185       QualType D = Context.getRecordType(Shadow->getParent());
 6256       QualType ParamType = Proto->getParamType(ArgIdx);
 6377           QualType ReturnT = Methods[b]->getReturnType();
 6578       QualType ObjectType;
 6632 void Sema::AddMethodCandidate(DeclAccessPair FoundDecl, QualType ObjectType,
 6667                          CXXRecordDecl *ActingContext, QualType ObjectType,
 6772       QualType ParamType = Proto->getParamType(ArgIdx);
 6812     TemplateArgumentListInfo *ExplicitTemplateArgs, QualType ObjectType,
 6941     FunctionTemplateDecl *FunctionTemplate, ArrayRef<QualType> ParamTypes,
 6944     CXXRecordDecl *ActingContext, QualType ObjectType,
 6978     QualType ParamType = ParamTypes[I];
 7011                                           QualType ConvType, QualType ToType,
 7011                                           QualType ConvType, QualType ToType,
 7013   QualType ToNonRefType = ToType.getNonReferenceType();
 7032   QualType ConvertedType;
 7045     CXXRecordDecl *ActingContext, Expr *From, QualType ToType,
 7050   QualType ConvType = Conversion->getConversionType().getNonReferenceType();
 7099   QualType ImplicitParamType = From->getType();
 7118   QualType FromCanon
 7120   QualType ToCanon = Context.getCanonicalType(ToType).getUnqualifiedType();
 7143   QualType ConversionType = Conversion->getConversionType();
 7155   QualType CallResultType = ConversionType.getNonLValueExprType(Context);
 7233     CXXRecordDecl *ActingDC, Expr *From, QualType ToType,
 7350       QualType ParamType = Proto->getParamType(ArgIdx);
 7443   QualType T1 = Args[0]->getType();
 7479 void Sema::AddBuiltinCandidate(QualType *ParamTys, ArrayRef<Expr *> Args,
 7541   typedef llvm::SetVector<QualType, SmallVector<QualType, 8>,
 7541   typedef llvm::SetVector<QualType, SmallVector<QualType, 8>,
 7578   bool AddPointerWithMoreQualifiedTypeVariants(QualType Ty,
 7580   bool AddMemberPointerWithMoreQualifiedTypeVariants(QualType Ty);
 7593   void AddTypesConvertedFrom(QualType Ty,
 7637 BuiltinCandidateTypeSet::AddPointerWithMoreQualifiedTypeVariants(QualType Ty,
 7644   QualType PointeeTy;
 7680     QualType QPointeeTy = Context.getCVRQualifiedType(PointeeTy, CVR);
 7683     QualType QPointerTy;
 7707     QualType Ty) {
 7715   QualType PointeeTy = PointerTy->getPointeeType();
 7730     QualType QPointeeTy = Context.getCVRQualifiedType(PointeeTy, CVR);
 7747 BuiltinCandidateTypeSet::AddTypesConvertedFrom(QualType Ty,
 7821 static QualType AdjustAddressSpaceForBuiltinOperandType(Sema &S, QualType T,
 7821 static QualType AdjustAddressSpaceForBuiltinOperandType(Sema &S, QualType T,
 7830                                                    QualType T,
 7833   QualType ParamTypes[2];
 7878         QualType CanTy = Context.getCanonicalType(Conv->getConversionType());
 7981   void addPlusPlusMinusMinusStyleOverloads(QualType CandidateTy,
 7984     QualType ParamTypes[2] = {
 8119       QualType ParamTy = *Ptr;
 8120       QualType PointeeTy = ParamTy->getPointeeType();
 8144       QualType ArithTy = ArithmeticTypes[Arith];
 8153       QualType VecTy = *Vec;
 8168       QualType ParamTy = *Ptr;
 8184       QualType IntTy = ArithmeticTypes[Int];
 8193       QualType VecTy = *Vec;
 8206     llvm::SmallPtrSet<QualType, 8> AddedTypes;
 8218         QualType ParamTypes[2] = { *MemPtr, *MemPtr };
 8225           QualType ParamTypes[2] = { NullPtrTy, NullPtrTy };
 8276           QualType FirstParamType = C->Function->getParamDecl(Reversed ? 1 : 0)
 8279           QualType SecondParamType = C->Function->getParamDecl(Reversed ? 0 : 1)
 8297     llvm::SmallPtrSet<QualType, 8> AddedTypes;
 8308         QualType ParamTypes[2] = { *Ptr, *Ptr };
 8323         QualType ParamTypes[2] = { *Enum, *Enum };
 8348     llvm::SmallPtrSet<QualType, 8> AddedTypes;
 8351       QualType AsymmetricParamTypes[2] = {
 8359         QualType PointeeTy = (*Ptr)->getPointeeType();
 8374           QualType ParamTypes[2] = { *Ptr, *Ptr };
 8418         QualType LandR[2] = { ArithmeticTypes[Left],
 8434         QualType LandR[2] = { *Vec1, *Vec2 };
 8497         QualType LandR[2] = { ArithmeticTypes[Left],
 8513     llvm::SmallPtrSet<QualType, 8> AddedTypes;
 8556     llvm::SmallPtrSet<QualType, 8> AddedTypes;
 8569       QualType ParamTypes[2] = {
 8616         QualType ParamTypes[2] = {
 8677         QualType ParamTypes[2];
 8679         auto LeftBaseTy = AdjustAddressSpaceForBuiltinOperandType(
 8705         QualType ParamTypes[2];
 8742         QualType ParamTypes[2];
 8744         auto LeftBaseTy = AdjustAddressSpaceForBuiltinOperandType(
 8768     QualType ParamTy = S.Context.BoolTy;
 8774     QualType ParamTypes[2] = { S.Context.BoolTy, S.Context.BoolTy };
 8795       QualType ParamTypes[2] = { *Ptr, S.Context.getPointerDiffType() };
 8796       QualType PointeeType = (*Ptr)->getPointeeType();
 8808       QualType ParamTypes[2] = { S.Context.getPointerDiffType(), *Ptr };
 8809       QualType PointeeType = (*Ptr)->getPointeeType();
 8832       QualType C1Ty = (*Ptr);
 8833       QualType C1;
 8850         QualType C2 = QualType(mptr->getClass(), 0);
 8854         QualType ParamTypes[2] = { *Ptr, *MemPtr };
 8856         QualType T = mptr->getPointeeType();
 8881     llvm::SmallPtrSet<QualType, 8> AddedTypes;
 8891         QualType ParamTypes[2] = { *Ptr, *Ptr };
 8902         QualType ParamTypes[2] = { *MemPtr, *MemPtr };
 8917           QualType ParamTypes[2] = { *Enum, *Enum };
 9848                                  QualType DestType, bool TakingAddress) {
 9869 void Sema::NoteAllOverloadCandidates(Expr *OverloadedExpr, QualType DestType,
 9939   QualType FromTy = Conv.Bad.getFromType();
 9940   QualType ToTy = Conv.Bad.getToType();
10047   QualType TempFromTy = FromTy.getNonReferenceType();
10274     QualType Param = DeductionFailure.getFirstArg()->getAsType();
10280     QualType NonCanonParam = Qs.apply(S.Context, TParam->getTypeForDecl());
10287     QualType Arg = DeductionFailure.getSecondArg()->getAsType();
10304       QualType T1 =
10306       QualType T2 =
10721   QualType FnType = Cand->Surrogate->getConversionType();
10987   ArrayRef<QualType> ParamTypes;
10990     QualType ConvType
11255 QualType Sema::ExtractUnqualifiedFunctionType(QualType PossiblyAFunctionType) {
11255 QualType Sema::ExtractUnqualifiedFunctionType(QualType PossiblyAFunctionType) {
11256   QualType Ret = PossiblyAFunctionType;
11292   const QualType& TargetType;
11293   QualType TargetFunctionType; // Extracted function type from target type
11312                             const QualType &TargetType, bool Complain)
11374     QualType Discard;
11702                                          QualType TargetType,
11904                                            QualType DestTypeForComplaining,
12637       QualType ResultTy = FnDecl->getReturnType();
12955         QualType ResultTy = FnDecl->getReturnType();
13222         QualType ResultTy = FnDecl->getReturnType();
13320     QualType fnType =
13324     QualType resultType = proto->getCallResultType(Context);
13331     QualType objectType = op->getLHS()->getType();
13386     QualType ObjectType = UnresExpr->getBaseType();
13498   QualType ResultType = Method->getReturnType();
13662       QualType ConvType = Conv->getConversionType().getNonReferenceType();
13847   QualType ResultTy = Method->getReturnType();
13915       QualType BaseType = Base->getType();
13967   QualType ResultTy = Method->getReturnType();
14043   QualType ResultTy = FD->getReturnType();
14210         QualType ClassType
14212         QualType MemPtrType
14288     QualType type;
tools/clang/lib/Sema/SemaPseudoObject.cpp
  241       QualType ty = exp->getType();
  507   QualType resultType = result.get()->getType();
  585   QualType IT = S.Context.getObjCInterfaceType(PRE->getClassReceiver());
  590   QualType T;
  738   QualType receiverType = RefExpr->getReceiverType(S.Context);
  771   QualType receiverType = RefExpr->getReceiverType(S.Context);
  777     QualType paramType = (*Setter->param_begin())->getType()
  847     QualType receiverType = RefExpr->getReceiverType(S.Context);
  848     QualType propType = RefExpr->getExplicitProperty()
  883   QualType resultType = Getter->getReturnType();
 1055   QualType T = FromE->getType();
 1094       QualType CT = Conversion->getConversionType().getNonReferenceType();
 1126 static void CheckKeyForObjCARCConversion(Sema &S, QualType ContainerT,
 1140   QualType T = Getter->parameters()[0]->getType();
 1150   QualType BaseT = BaseExpr->getType();
 1152   QualType ResultType;
 1228     QualType T = AtIndexGetter->parameters()[0]->getType();
 1238     QualType R = AtIndexGetter->getReturnType();
 1254   QualType BaseT = BaseExpr->getType();
 1256   QualType ResultType;
 1300     QualType ReturnType = S.Context.VoidTy;
 1345     QualType T = AtIndexSetter->parameters()[1]->getType();
 1364       QualType T = AtIndexSetter->parameters()[i]->getType();
 1387   QualType receiverType = InstanceBase->getType();
 1416   QualType receiverType = InstanceBase->getType();
tools/clang/lib/Sema/SemaStmt.cpp
  110     QualType type = var->getType();
  356     QualType T = TI->getType();
  441   QualType CondType = CondExpr->getType();
  652 static QualType GetTypeBeforeIntegralPromotion(const Expr *&E) {
  672                                          QualType T) override {
  677         Sema &S, SourceLocation Loc, QualType T) override {
  683         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
  683         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
  688         Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
  694                                             QualType T) override {
  699         Sema &S, CXXConversionDecl *Conv, QualType ConvTy) override {
  705         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
  705         Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) override {
  800       QualType VarType = VD->getType();
  801       QualType EnumType = S.Context.getTypeDeclType(ED);
  822   QualType CondType = Cond->getType();
  823   QualType CaseType = Case->getType();
  862   QualType CondType = CondExpr->getType();
  872   QualType CondTypeBeforePromotion =
 1260 Sema::DiagnoseAssignmentEnum(QualType DstType, QualType SrcType,
 1260 Sema::DiagnoseAssignmentEnum(QualType DstType, QualType SrcType,
 1911     QualType FirstType;
 1998   QualType InitType;
 2058                               QualType Type, StringRef Name) {
 2170                       QualType RangeType, VarDecl *BeginVar, VarDecl *EndVar,
 2376   QualType RangeVarType = RangeVar->getType();
 2405     const QualType RangeVarNonRefType = RangeVarType.getNonReferenceType();
 2417     QualType AutoType = Context.getAutoDeductType();
 2421     QualType RangeType = Range->getType();
 2543             QualType ArrayTy = PVD->getOriginalType();
 2544             QualType PointerTy = PVD->getType();
 2585     QualType BeginType = BeginVar->getType(), EndType = EndVar->getType();
 2600     const QualType BeginRefNonRefType = BeginType.getNonReferenceType();
 2709                                                     QualType RangeInitType) {
 2714   QualType VariableType = VD->getType();
 2750     QualType ReturnType = FD->getReturnType();
 2760     QualType NonReferenceType = VariableType.getNonReferenceType();
 2762     QualType NewReferenceType =
 2771     QualType NonReferenceType = VariableType.getNonReferenceType();
 2787   QualType VariableType = VD->getType();
 2837   QualType VariableType = VD->getType();
 2889     QualType ETy = E->getType();
 2890     QualType DestTy = Context.getPointerType(Context.VoidTy.withConst());
 2965 VarDecl *Sema::getCopyElisionCandidate(QualType ReturnType, Expr *E,
 2981 bool Sema::isCopyElisionCandidate(QualType ReturnType, const VarDecl *VD,
 2983   QualType VDType = VD->getType();
 3045                                   QualType ResultType,
 3123                                       QualType ResultType,
 3157       QualType QT = NRVOCandidate->getType();
 3185         QualType QT = FakeNRVOCandidate->getType();
 3242   QualType FnRetType = CurCap->ReturnType;
 3454   QualType Deduced;
 3520   QualType DeducedT = AT->getDeducedType();
 3586   QualType FnRetType;
 3587   QualType RelatedRetType;
 3756     QualType RetType = RelatedRetType.isNull() ? FnRetType : RelatedRetType;
 3858     QualType ThrowType = Throw->getType();
 3898   QualType type = operand->getType();
 3954   QualType QT;
 3961   CatchHandlerType(QualType QT, Unique) : QT(QT), IsPointer(false) {}
 3967   CatchHandlerType(QualType Q) : QT(Q), IsPointer(false) {
 3979   CatchHandlerType(QualType QT, bool IsPointer)
 3982   QualType underlying() const { return QT; }
 3999     return CatchHandlerType(DenseMapInfo<QualType>::getEmptyKey(),
 4004     return CatchHandlerType(DenseMapInfo<QualType>::getTombstoneKey(),
 4009     return DenseMapInfo<QualType>::getHashValue(Base.underlying());
 4108     QualType Underlying = HandlerCHT.underlying();
 4327   QualType ParamType = Context.getPointerType(Context.getTagDeclType(RD));
 4365       QualType ParamType = Context.getPointerType(Context.getTagDeclType(RD))
 4387     QualType ParamType = Context.getPointerType(Context.getTagDeclType(RD));
tools/clang/lib/Sema/SemaStmtAsm.cpp
  575     QualType InTy = InputExpr->getType();
  576     QualType OutTy = OutputExpr->getType();
  700   QualType T = Res->getType();
  747   QualType T = Result.get()->getType();
  795       QualType QT = TD->getUnderlyingType();
  838   QualType T = E->getType();
tools/clang/lib/Sema/SemaTemplate.cpp
  159   QualType ObjectType = ObjectTypePtr.get();
  328                               QualType ObjectType,
  699     QualType ThisType = cast<CXXMethodDecl>(DC)->getThisType();
  763   QualType InstantiationTy;
  872     QualType T = SemaRef.GetTypeFromParser(Arg.getAsType(), &DI);
  925   QualType T = GetTypeFromParser(ParsedType.get(), &TInfo);
 1044 QualType Sema::CheckNonTypeTemplateParameterType(TypeSourceInfo *&TSI,
 1058 QualType Sema::CheckNonTypeTemplateParameterType(QualType T,
 1058 QualType Sema::CheckNonTypeTemplateParameterType(QualType T,
 1184   QualType T = CheckNonTypeTemplateParameterType(TInfo, D.getIdentifierLoc());
 1645   QualType T = NewTemplate->getInjectedClassNameSpecialization();
 1731   QualType TransformTypedefType(TypeLocBuilder &TLB, TypedefTypeLoc TL) {
 1753   QualType DeducedType = SemaRef.Context.getTypeDeclType(Primary);
 1819     QualType NewType = transformFunctionProtoType(TLB, FPTL, Params, Args);
 1830   NamedDecl *buildSimpleDeductionGuide(MutableArrayRef<QualType> ParamTypes) {
 1836     QualType Result = SemaRef.BuildFunctionType(DeducedType, ParamTypes, Loc,
 1845     for (auto T : ParamTypes) {
 1903   QualType transformFunctionProtoType(TypeLocBuilder &TLB,
 1907     SmallVector<QualType, 4> ParamTypes;
 1928     QualType ReturnType = DeducedType;
 1937     QualType Result = SemaRef.BuildFunctionType(
 2551 DependsOnTemplateParameters(QualType T, TemplateParameterList *Params) {
 2560                                                        QualType T,
 2620   SmallVector<QualType, 4> NestedTypes;
 2621   QualType T;
 2989 static QualType
 3018     QualType ArgTy = NumArgsArg.getIntegralType();
 3196 QualType Sema::CheckTemplateIdType(TemplateName Name,
 3233   QualType CanonType;
 3331         QualType ICNT = Context.getTypeDeclType(Record);
 3332         QualType Injected = cast<InjectedClassNameType>(ICNT)
 3498     QualType T
 3518   QualType Result = CheckTemplateIdType(Template, TemplateIILoc, TemplateArgs);
 3569     QualType T = Context.getDependentTemplateSpecializationType(Keyword,
 3600   QualType Result = CheckTemplateIdType(Template, TemplateLoc, TemplateArgs);
 3659     QualType Type = Arg.getAsType();
 4486   QualType ArgType;
 4910     QualType NTTPType = NTTP->getType();
 5048       QualType T = Arg.getArgument().getAsType();
 5478     bool Visit(QualType T) {
 5572   for (const auto &A : T->param_types()) {
 5731   QualType Arg = ArgInfo->getType();
 5765                                    QualType ParamType, Expr *Arg,
 5860     Sema &S, NonTypeTemplateParmDecl *Param, QualType ParamType, Expr *ArgIn,
 5861     Expr *Arg, QualType ArgType) {
 5919                                                QualType ParamType,
 5924   QualType ArgType = Arg->getType();
 6205                                                  QualType ParamType,
 6463     QualType CanonParamType = Context.getCanonicalType(ParamType);
 6595       QualType IntegerType = ParamType;
 6610     QualType ArgType = Arg->getType();
 6627         QualType T;
 6630         TmplArgICEDiagnoser(QualType T) : T(T) { }
 6676     QualType IntegerType = Context.getCanonicalType(ParamType);
 6729   QualType ArgType = Arg->getType();
 6977       QualType ClassType
 7018   QualType T = VD->getType().getNonReferenceType();
 7070   QualType OrigT = Arg.getIntegralType();
 7077   QualType T = OrigT;
 7839   QualType CanonType;
 8421       QualType FT = FD->getType();
 8644         QualType Adjusted = Function->getType();
 9386   QualType R = T->getType();
 9586         QualType Adjusted = adjustCCAndNoReturn(R, Method->getType(),
 9784   QualType Result = Context.getDependentNameType(Kwd, NNS, Name);
 9810   QualType T = CheckTypenameType(TypenameLoc.isValid()? ETK_Typename : ETK_None,
 9871     QualType T = Context.getDependentTemplateSpecializationType(ETK_Typename,
 9891   QualType T = CheckTemplateIdType(Template, TemplateIILoc, TemplateArgs);
 9966 QualType
10144     bool AlreadyTransformed(QualType T) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  144                                    QualType Param,
  145                                    QualType Arg,
  166 static void MarkUsedTemplateParameters(ASTContext &Ctx, QualType T,
  228     QualType XType = X.getNonTypeTemplateArgumentType();
  230       QualType YType = Y.getNonTypeTemplateArgumentType();
  377     QualType ValueType, TemplateDeductionInfo &Info,
  404   QualType ParamType = S.Context.getAdjustedParameterType(NTTP->getType());
  424     QualType ValueType, bool DeducedFromArrayBound, TemplateDeductionInfo &Info,
  437     NonTypeTemplateParmDecl *NTTP, QualType NullPtrType,
  469     NonTypeTemplateParmDecl *NTTP, ValueDecl *D, QualType T,
  545                         QualType Arg,
  610 static bool IsPossiblyOpaquelyQualifiedType(QualType T) {
 1004                         const QualType *Params, unsigned NumParams,
 1005                         const QualType *Args, unsigned NumArgs,
 1053     QualType Pattern = Expansion->getPattern();
 1112 static bool hasInconsistentOrSupersetQualifiersOf(QualType ParamType,
 1113                                                   QualType ArgType) {
 1156   QualType AdjustedParam;
 1177 static bool isForwardingReference(QualType Param, unsigned FirstInnerIndex) {
 1218                                    QualType ParamIn, QualType ArgIn,
 1218                                    QualType ParamIn, QualType ArgIn,
 1226   QualType Param = S.Context.getCanonicalType(ParamIn);
 1227   QualType Arg = S.Context.getCanonicalType(ArgIn);
 1299       QualType UnqualParam = S.Context.getUnqualifiedArrayType(Param, Quals);
 1371     QualType DeducedType = Arg;
 1538       QualType PointeeType;
 1866       QualType ParamPointeeType = MemPtrParam->getPointeeType();
 1870       QualType ArgPointeeType = MemPtrArg->getPointeeType();
 2444                                     QualType NTTPType, SourceLocation Loc) {
 2920 static bool isSimpleTemplateIdType(QualType T) {
 2968                                  SmallVectorImpl<QualType> &ParamTypes,
 2969                                           QualType *FunctionType,
 3072   QualType ResultType;
 3121     SmallVector<QualType, 4> ExceptionStorage;
 3163                               QualType DeducedA) {
 3174   QualType A = OriginalArg.OriginalArgType;
 3175   QualType OriginalParamType = OriginalArg.OriginalParamType;
 3201     QualType Tmp;
 3239   QualType ResultTy;
 3393     llvm::SmallDenseMap<std::pair<unsigned, QualType>, QualType> DeducedATypes;
 3393     llvm::SmallDenseMap<std::pair<unsigned, QualType>, QualType> DeducedATypes;
 3404       QualType DeducedA;
 3413         QualType &CacheEntry =
 3450 static QualType GetTypeOfFunction(Sema &S, const OverloadExpr::FindResult &R,
 3476 static QualType
 3478                             Expr *Arg, QualType ParamType,
 3518   QualType Match;
 3541     QualType ArgType = GetTypeOfFunction(S, R, Fn);
 3584     QualType &ParamType, QualType &ArgType, Expr *Arg, unsigned &TDF) {
 3584     QualType &ParamType, QualType &ArgType, Expr *Arg, unsigned &TDF) {
 3674                                QualType T);
 3678     QualType ParamType, Expr *Arg, TemplateDeductionInfo &Info,
 3686     Sema &S, TemplateParameterList *TemplateParams, QualType AdjustedParamType,
 3702   QualType ElTy;
 3738       QualType T = S.Context.getSizeType();
 3754     QualType ParamType, Expr *Arg, TemplateDeductionInfo &Info,
 3758   QualType ArgType = Arg->getType();
 3759   QualType OrigParamType = ParamType;
 3813     llvm::function_ref<bool(ArrayRef<QualType>)> CheckNonDependent) {
 3842   SmallVector<QualType, 8> ParamTypes;
 3881   SmallVector<QualType, 8> ParamTypesForArgChecking;
 3884     QualType ParamType = ParamTypes[ParamIdx];
 3900     QualType ParamPattern = ParamExpansion->getPattern();
 3961 QualType Sema::adjustCCAndNoReturn(QualType ArgFunctionType,
 3961 QualType Sema::adjustCCAndNoReturn(QualType ArgFunctionType,
 3962                                    QualType FunctionType,
 4027     TemplateArgumentListInfo *ExplicitTemplateArgs, QualType ArgFunctionType,
 4036   QualType FunctionType = Function->getType();
 4042   SmallVector<QualType, 4> ParamTypes;
 4116   QualType SpecializationType = Specialization->getType();
 4144                               QualType ToType,
 4153   QualType FromType = ConversionGeneric->getConversionType();
 4156   QualType P = Context.getCanonicalType(FromType);
 4157   QualType A = Context.getCanonicalType(ToType);
 4298     QualType Replacement;
 4307     SubstituteDeducedTypeTransform(Sema &SemaRef, QualType Replacement,
 4313     QualType TransformDesugared(TypeLocBuilder &TLB, DeducedTypeLoc TL) {
 4316       QualType Result = Replacement;
 4322     QualType TransformAutoType(TypeLocBuilder &TLB, AutoTypeLoc TL) {
 4335       QualType Result = SemaRef.Context.getAutoType(
 4343     QualType TransformDeducedTemplateSpecializationType(
 4348       QualType Result = SemaRef.Context.getDeducedTemplateSpecializationType(
 4361     QualType Apply(TypeLoc TL) {
 4373 Sema::DeduceAutoType(TypeSourceInfo *Type, Expr *&Init, QualType &Result,
 4419 Sema::DeduceAutoType(TypeLoc Type, Expr *&Init, QualType &Result,
 4455       QualType Deduced = BuildDecltypeType(Init, Init->getBeginLoc(), false);
 4479   QualType TemplArg = QualType(TemplParam->getTypeForDecl(), 0);
 4484   QualType FuncParam =
 4558   QualType DeducedType = Deduced[0].getAsType();
 4572   QualType DeducedA = InitList ? Deduced[0].getAsType() : Result;
 4586 QualType Sema::SubstAutoType(QualType TypeWithAuto,
 4586 QualType Sema::SubstAutoType(QualType TypeWithAuto,
 4587                              QualType TypeToReplaceAuto) {
 4598                                               QualType TypeToReplaceAuto) {
 4609 QualType Sema::ReplaceAutoType(QualType TypeWithAuto,
 4609 QualType Sema::ReplaceAutoType(QualType TypeWithAuto,
 4610                                QualType TypeToReplaceAuto) {
 4663     QualType RetType = getLambdaConversionFunctionResultType(
 4694                                SmallVectorImpl<QualType> &ArgTypes) {
 4702   QualType ArgTy = Context.getTypeDeclType(Method->getParent());
 4733   SmallVector<QualType, 4> Args2;
 4756     SmallVector<QualType, 4> Args1;
 4971     bool Complain, QualType TargetType) {
 5049 static bool isAtLeastAsSpecializedAs(Sema &S, QualType T1, QualType T2,
 5049 static bool isAtLeastAsSpecializedAs(Sema &S, QualType T1, QualType T2,
 5115   QualType PT1 = PS1->getInjectedSpecializationType();
 5116   QualType PT2 = PS2->getInjectedSpecializationType();
 5131   QualType PrimaryT = Primary->getInjectedClassNameSpecialization();
 5132   QualType PartialT = Spec->getInjectedSpecializationType();
 5153   QualType PT1 = Context.getTemplateSpecializationType(
 5155   QualType PT2 = Context.getTemplateSpecializationType(
 5179   QualType PrimaryT = Context.getTemplateSpecializationType(
 5181   QualType PartialT = Context.getTemplateSpecializationType(
 5245   QualType AType = Context.getTemplateSpecializationType(X, AArgs);
 5246   QualType PType = Context.getTemplateSpecializationType(X, PArgs);
 5346 MarkUsedTemplateParameters(ASTContext &Ctx, QualType T,
 5706                                     QualType T) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  175         QualType T = ClassTemplate->getInjectedClassNameSpecialization();
  811     bool AlreadyTransformed(QualType T);
  936                                       TypeSourceInfo *TSInfo, QualType T);
  940     QualType RebuildElaboratedType(SourceLocation KeywordLoc,
  943                                    QualType T);
  948                           QualType ObjectType = QualType(),
  974     QualType TransformFunctionProtoType(TypeLocBuilder &TLB,
  981     QualType TransformFunctionProtoType(TypeLocBuilder &TLB,
  994     QualType TransformTemplateTypeParmType(TypeLocBuilder &TLB,
 1000     QualType TransformSubstTemplateTypeParmPackType(TypeLocBuilder &TLB,
 1024 bool TemplateInstantiator::AlreadyTransformed(QualType T) {
 1112       QualType T = Arg.getAsType();
 1143                                                         QualType T) {
 1150 QualType
 1154                                             QualType T) {
 1185     QualType ObjectType, NamedDecl *FirstQualifierInScope,
 1284       QualType TargetType = SemaRef.SubstType(NTTP->getType(), TemplateArgs,
 1324   QualType type;
 1414   QualType T = TransformType(E->getType());
 1450       QualType T = TransformType(E->getType());
 1501 QualType TemplateInstantiator::TransformFunctionProtoType(TypeLocBuilder &TLB,
 1521 QualType
 1550         QualType Result
 1564     QualType Replacement = Arg.getAsType();
 1567     QualType Result
 1584   QualType Result = getSema().Context.getTemplateTypeParmType(
 1592 QualType
 1606   QualType Result = Arg.getAsType();
 1688   QualType Result = Instantiator.TransformType(TLB, TL);
 1696 QualType Sema::SubstType(QualType T,
 1696 QualType Sema::SubstType(QualType T,
 1758   QualType Result;
 1782                               SmallVectorImpl<QualType> &ExceptionStorage,
 1797   SmallVector<QualType, 4> ExceptionStorage;
 1919     SmallVectorImpl<QualType> &ParamTypes,
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  916     QualType ReturnType = cast<FunctionDecl>(DC)->getReturnType();
 1078   QualType T = cast<FieldDecl>(NamedChain[i-1])->getType();
 1216       QualType DefnUnderlying =
 1743 static QualType adjustFunctionTypeForInstantiation(ASTContext &Context,
 1805   QualType T = adjustFunctionTypeForInstantiation(SemaRef.Context, D, TInfo);
 2122   QualType T = adjustFunctionTypeForInstantiation(SemaRef.Context, D, TInfo);
 2433   SmallVector<QualType, 4> ExpandedParameterPackTypes;
 2436   QualType T;
 2451       QualType NewT =
 2496         QualType NewT =
 3036   QualType SubstReductionType;
 3049   std::pair<QualType, SourceLocation> ReductionTypes[] = {
 3136   QualType SubstMapperTy;
 3340   QualType CanonType = SemaRef.Context.getTemplateSpecializationType(
 3609   QualType CanonType
 3733   QualType CanonType = SemaRef.Context.getTemplateSpecializationType(
 3900     SmallVector<QualType, 4> ParamTypes;
 3933         QualType T = S.SubstType(PatternParam->getType(), TemplateArgs,
 3951       QualType PatternType =
 3958           QualType T = S.SubstType(PatternType, TemplateArgs,
 5454           QualType T = CheckTemplateIdType(TemplateName(TD), Loc, Args);
 5501         QualType T = Context.getTypeDeclType(Spec);
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  143     bool TraverseType(QualType T) {
  503 void Sema::collectUnexpandedParameterPacks(QualType T,
  586   QualType Result = CheckPackExpansion(Pattern->getType(),
  600 QualType Sema::CheckPackExpansion(QualType Pattern, SourceRange PatternRange,
  600 QualType Sema::CheckPackExpansion(QualType Pattern, SourceRange PatternRange,
  782 Optional<unsigned> Sema::getNumArgumentsInExpansion(QualType T,
  784   QualType Pattern = cast<PackExpansionType>(T)->getPattern();
  842     QualType T = DS.getRepAsType().get();
  909         QualType ParamTy = Param->getType();
  926         QualType T = Chunk.Fun.getTrailingReturnType().get();
 1223   QualType ScalarType;
tools/clang/lib/Sema/SemaType.cpp
   67                                      QualType type) {
  246     void diagnoseIgnoredTypeAttrs(QualType type) const {
  253     QualType getAttributedType(Attr *A, QualType ModifiedType,
  253     QualType getAttributedType(Attr *A, QualType ModifiedType,
  254                                QualType EquivType) {
  255       QualType T =
  265     QualType ReplaceAutoType(QualType TypeWithAuto, QualType Replacement) {
  265     QualType ReplaceAutoType(QualType TypeWithAuto, QualType Replacement) {
  265     QualType ReplaceAutoType(QualType TypeWithAuto, QualType Replacement) {
  266       QualType T = sema.ReplaceAutoType(TypeWithAuto, Replacement);
  357 static void processTypeAttrs(TypeProcessingState &state, QualType &type,
  361                                    QualType &type);
  364                                              ParsedAttr &attr, QualType &type);
  367                                  QualType &type);
  370                                         ParsedAttr &attr, QualType &type);
  373                                       ParsedAttr &attr, QualType &type) {
  458                                           ParsedAttr &attr, QualType type) {
  514     TypeProcessingState &state, ParsedAttr &attr, QualType &declSpecType) {
  575                                        ParsedAttr &attr, QualType type) {
  607     ParsedAttributesView &attrList, QualType &declSpecType) {
  626                                                    QualType &declSpecType) {
  652                                                      QualType &declSpecType) {
  676                                               QualType &declSpecType) {
  719                                           QualType declSpecType) {
  776                                             QualType TypeSoFar,
  803                                         QualType Result) {
  832 static QualType applyObjCTypeArgs(Sema &S, SourceLocation loc, QualType type,
  832 static QualType applyObjCTypeArgs(Sema &S, SourceLocation loc, QualType type,
  875   SmallVector<QualType, 4> finalTypeArgs;
  880     QualType typeArg = typeArgInfo->getType();
  947       QualType bound = typeParam->getUnderlyingType();
  985       QualType bound = typeParam->getUnderlyingType();
 1038 QualType Sema::BuildObjCTypeParamType(const ObjCTypeParamDecl *Decl,
 1044   QualType Result = QualType(Decl->getTypeForDecl(), 0);
 1061 QualType Sema::BuildObjCObjectType(QualType BaseType,
 1061 QualType Sema::BuildObjCObjectType(QualType BaseType,
 1071   QualType Result = BaseType;
 1103   QualType Result = Context.getObjCObjectType(
 1148   QualType T = GetTypeFromParser(BaseType, &BaseTypeInfo);
 1160     QualType TypeArg = GetTypeFromParser(TypeArgs[i], &TypeArgInfo);
 1171   QualType Result = BuildObjCObjectType(
 1260 static QualType ConvertDeclSpecToType(TypeProcessingState &state) {
 1273   QualType Result;
 1747     QualType Qualified = S.BuildQualifiedType(Result, DeclLoc, TypeQuals, &DS);
 1767 QualType Sema::BuildQualifiedType(QualType T, SourceLocation Loc,
 1767 QualType Sema::BuildQualifiedType(QualType T, SourceLocation Loc,
 1782     QualType ProblemTy;
 1786       QualType EltTy;
 1814 QualType Sema::BuildQualifiedType(QualType T, SourceLocation Loc,
 1814 QualType Sema::BuildQualifiedType(QualType T, SourceLocation Loc,
 1859 QualType Sema::BuildParenType(QualType T) {
 1859 QualType Sema::BuildParenType(QualType T) {
 1864 static QualType inferARCLifetimeForPointee(Sema &S, QualType type,
 1864 static QualType inferARCLifetimeForPointee(Sema &S, QualType type,
 1954 static bool checkQualifiedFunction(Sema &S, QualType T, SourceLocation Loc,
 1968 bool Sema::CheckQualifiedFunctionForTypeId(QualType T, SourceLocation Loc) {
 1992 QualType Sema::BuildPointerType(QualType T,
 1992 QualType Sema::BuildPointerType(QualType T,
 2032 QualType Sema::BuildReferenceType(QualType T, bool SpelledAsLValue,
 2032 QualType Sema::BuildReferenceType(QualType T, bool SpelledAsLValue,
 2089 QualType Sema::BuildReadPipeType(QualType T, SourceLocation Loc) {
 2089 QualType Sema::BuildReadPipeType(QualType T, SourceLocation Loc) {
 2101 QualType Sema::BuildWritePipeType(QualType T, SourceLocation Loc) {
 2101 QualType Sema::BuildWritePipeType(QualType T, SourceLocation Loc) {
 2142 QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM,
 2142 QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM,
 2338     const QualType ArrType = Context.getBaseElementType(T);
 2349 QualType Sema::BuildVectorType(QualType CurType, Expr *SizeExpr,
 2349 QualType Sema::BuildVectorType(QualType CurType, Expr *SizeExpr,
 2404 QualType Sema::BuildExtVectorType(QualType T, Expr *ArraySize,
 2404 QualType Sema::BuildExtVectorType(QualType T, Expr *ArraySize,
 2451 bool Sema::CheckFunctionReturnType(QualType T, SourceLocation Loc) {
 2489 static void checkExtParameterInfos(Sema &S, ArrayRef<QualType> paramTypes,
 2542 QualType Sema::BuildFunctionType(QualType T,
 2542 QualType Sema::BuildFunctionType(QualType T,
 2543                                  MutableArrayRef<QualType> ParamTypes,
 2552     QualType ParamType = Context.getAdjustedParameterType(ParamTypes[Idx]);
 2596 QualType Sema::BuildMemberPointerType(QualType T, QualType Class,
 2596 QualType Sema::BuildMemberPointerType(QualType T, QualType Class,
 2596 QualType Sema::BuildMemberPointerType(QualType T, QualType Class,
 2647 QualType Sema::BuildBlockPointerType(QualType T,
 2647 QualType Sema::BuildBlockPointerType(QualType T,
 2661 QualType Sema::GetTypeFromParser(ParsedType Ty, TypeSourceInfo **TInfo) {
 2662   QualType QT = Ty.get();
 2686                               QualType &declSpecType) {
 2832 static void diagnoseRedundantReturnTypeQualifiers(Sema &S, QualType RetTy,
 2902 static QualType GetDeclSpecTypeForDeclarator(TypeProcessingState &state,
 2906   QualType T;
 3227                                        DeclaratorChunk &DeclType, QualType RT) {
 3324 static void warnAboutRedundantParens(Sema &S, Declarator &D, QualType T) {
 3610 classifyPointerDeclarator(Sema &S, QualType type, Declarator &declarator,
 4010                                QualType T, TypeSourceInfo *ReturnTypeInfo);
 4013                                                 QualType declSpecType,
 4017   QualType T = declSpecType;
 4801         SmallVector<QualType, 16> ParamTys;
 4810           QualType ParamTy = Param->getType();
 4894         SmallVector<QualType, 4> Exceptions;
 4959       QualType ClsType;
 5292   QualType T = GetDeclSpecTypeForDeclarator(state, ReturnTypeInfo);
 5300                                            QualType &declSpecTy,
 5348                                  QualType &declSpecTy,
 5398 TypeSourceInfo *Sema::GetTypeForDeclaratorCast(Declarator &D, QualType FromTy) {
 5402   QualType declSpecTy = GetDeclSpecTypeForDeclarator(state, ReturnTypeInfo);
 5632       QualType ClsQT = QualType(ClsTy, 0);
 5771                                QualType T, TypeSourceInfo *ReturnTypeInfo) {
 5831 ParsedType Sema::CreateParsedType(QualType T, TypeSourceInfo *TInfo) {
 5857   QualType T = TInfo->getType();
 5880   QualType T = Context.getObjCInstanceType();
 5937 QualType Sema::BuildAddressSpaceAttr(QualType &T, LangAS ASIdx, Expr *AddrSpace,
 5937 QualType Sema::BuildAddressSpaceAttr(QualType &T, LangAS ASIdx, Expr *AddrSpace,
 5960 QualType Sema::BuildAddressSpaceAttr(QualType &T, Expr *AddrSpace,
 5960 QualType Sema::BuildAddressSpaceAttr(QualType &T, Expr *AddrSpace,
 5971 static void HandleAddressSpaceTypeAttribute(QualType &Type,
 6030     QualType T;
 6032       QualType EquivType =
 6069                                         ParsedAttr &attr, QualType &type) {
 6074       QualType pointee = ptr->getPointeeType();
 6193   QualType origType = type;
 6256                                  QualType &type) {
 6298   QualType origType = type;
 6331     QualType Original;
 6335     FunctionTypeUnwrapper(Sema &S, QualType T) : Original(T) {
 6375     QualType wrap(Sema &S, const FunctionType *New) {
 6384     QualType wrap(ASTContext &C, QualType Old, unsigned I) {
 6384     QualType wrap(ASTContext &C, QualType Old, unsigned I) {
 6398     QualType wrap(ASTContext &C, const Type *Old, unsigned I) {
 6411         QualType New = wrap(C, cast<ParenType>(Old)->getInnerType(), I);
 6416         QualType New = wrap(C, cast<PointerType>(Old)->getPointeeType(), I);
 6421         QualType New = wrap(C, cast<BlockPointerType>(Old)->getPointeeType(),I);
 6427         QualType New = wrap(C, OldMPT->getPointeeType(), I);
 6433         QualType New = wrap(C, OldRef->getPointeeType(), I);
 6447                                              ParsedAttr &PAttr, QualType &Type) {
 6468   QualType Desugared = Type;
 6548                                           QualType &type,
 6560   QualType desugared = type;
 6596         QualType underlyingType = typedefDecl->getUnderlyingType();
 6651 static bool checkObjCKindOfType(TypeProcessingState &state, QualType &type,
 6678   QualType equivType = S.Context.getObjCObjectType(
 6710                                           QualType type, ParsedAttr &attr) {
 6844                                    QualType &type) {
 6878     QualType origType = type;
 7060   QualType Equivalent;
 7072 bool Sema::hasExplicitCallingConv(QualType T) {
 7086 void Sema::adjustMemberFunctionCC(QualType &T, bool IsStatic, bool IsCtorOrDtor,
 7123   QualType Wrapped = Unwrapped.wrap(*this, FT);
 7134 static void HandleVectorSizeAttr(QualType &CurType, const ParsedAttr &Attr,
 7163   QualType T = S.BuildVectorType(CurType, SizeExpr, Attr.getLoc());
 7172 static void HandleExtVectorTypeAttr(QualType &CurType, const ParsedAttr &Attr,
 7202   QualType T = S.BuildExtVectorType(CurType, sizeExpr, Attr.getLoc());
 7207 static bool isPermittedNeonBaseType(QualType &Ty,
 7262 static void HandleNeonVectorTypeAttr(QualType &CurType, const ParsedAttr &Attr,
 7311 static void HandleOpenCLAccessAttr(QualType &CurType, const ParsedAttr &Attr,
 7321     QualType BaseTy = TypedefTy->desugar();
 7360       QualType ElemType = CurType->getAs<PipeType>()->getElementType();
 7367                                           QualType &T, TypeAttrLocation TAL) {
 7498                                     QualType &CurType,
 7510 static void processTypeAttrs(TypeProcessingState &state, QualType &type,
 7760           QualType T = Def->getType();
 7789   QualType T = E->getType();
 7828 bool Sema::RequireCompleteType(SourceLocation Loc, QualType T,
 7979 bool Sema::RequireCompleteTypeImpl(SourceLocation Loc, QualType T,
 8145 bool Sema::RequireCompleteType(SourceLocation Loc, QualType T,
 8183 bool Sema::RequireLiteralType(SourceLocation Loc, QualType T,
 8187   QualType ElemType = Context.getBaseElementType(T);
 8273 bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, unsigned DiagID) {
 8281 QualType Sema::getElaboratedType(ElaboratedTypeKeyword Keyword,
 8282                                  const CXXScopeSpec &SS, QualType T,
 8297 QualType Sema::BuildTypeofExprType(Expr *E, SourceLocation Loc) {
 8304     QualType T = E->getType();
 8314 static QualType getDecltypeForExpr(Sema &S, Expr *E) {
 8355           QualType T = S.getCapturedDeclRefType(Var, DRE->getLocation());
 8366   QualType T = E->getType();
 8381 QualType Sema::BuildDecltypeType(Expr *E, SourceLocation Loc,
 8395 QualType Sema::BuildUnaryTransformType(QualType BaseType,
 8395 QualType Sema::BuildUnaryTransformType(QualType BaseType,
 8404       QualType Underlying = BaseType;
 8430 QualType Sema::BuildAtomicType(QualType T, SourceLocation Loc) {
 8430 QualType Sema::BuildAtomicType(QualType T, SourceLocation Loc) {
tools/clang/lib/Sema/TreeTransform.h
  207   bool AlreadyTransformed(QualType T) {
  297   QualType TransformType(QualType T);
  297   QualType TransformType(QualType T);
  313   QualType TransformType(TypeLocBuilder &TLB, TypeLoc TL);
  322   QualType TransformTypeWithDeducedTST(QualType T);
  322   QualType TransformTypeWithDeducedTST(QualType T);
  497                                   QualType ObjectType = QualType(),
  532                         QualType ObjectType = QualType(),
  599   TypeSourceInfo *InventTypeSourceInfo(QualType T) {
  610   QualType TransformFunctionProtoType(TypeLocBuilder &TLB,
  618                               SmallVectorImpl<QualType> &Exceptions,
  623   QualType
  628   QualType
  634   QualType TransformDependentTemplateSpecializationType(
  647       const QualType *ParamTypes,
  649       SmallVectorImpl<QualType> &PTypes, SmallVectorImpl<ParmVarDecl *> *PVars,
  668   QualType TransformReferenceType(TypeLocBuilder &TLB, ReferenceTypeLoc TL);
  715   QualType RebuildQualifiedType(QualType T, QualifiedTypeLoc TL);
  715   QualType RebuildQualifiedType(QualType T, QualifiedTypeLoc TL);
  721   QualType RebuildPointerType(QualType PointeeType, SourceLocation Sigil);
  721   QualType RebuildPointerType(QualType PointeeType, SourceLocation Sigil);
  727   QualType RebuildBlockPointerType(QualType PointeeType, SourceLocation Sigil);
  727   QualType RebuildBlockPointerType(QualType PointeeType, SourceLocation Sigil);
  737   QualType RebuildReferenceType(QualType ReferentType,
  737   QualType RebuildReferenceType(QualType ReferentType,
  746   QualType RebuildMemberPointerType(QualType PointeeType, QualType ClassType,
  746   QualType RebuildMemberPointerType(QualType PointeeType, QualType ClassType,
  746   QualType RebuildMemberPointerType(QualType PointeeType, QualType ClassType,
  749   QualType RebuildObjCTypeParamType(const ObjCTypeParamDecl *Decl,
  759   QualType RebuildObjCObjectType(QualType BaseType,
  759   QualType RebuildObjCObjectType(QualType BaseType,
  773   QualType RebuildObjCObjectPointerType(QualType PointeeType,
  773   QualType RebuildObjCObjectPointerType(QualType PointeeType,
  783   QualType RebuildArrayType(QualType ElementType,
  783   QualType RebuildArrayType(QualType ElementType,
  795   QualType RebuildConstantArrayType(QualType ElementType,
  795   QualType RebuildConstantArrayType(QualType ElementType,
  807   QualType RebuildIncompleteArrayType(QualType ElementType,
  807   QualType RebuildIncompleteArrayType(QualType ElementType,
  817   QualType RebuildVariableArrayType(QualType ElementType,
  817   QualType RebuildVariableArrayType(QualType ElementType,
  828   QualType RebuildDependentSizedArrayType(QualType ElementType,
  828   QualType RebuildDependentSizedArrayType(QualType ElementType,
  839   QualType RebuildVectorType(QualType ElementType, unsigned NumElements,
  839   QualType RebuildVectorType(QualType ElementType, unsigned NumElements,
  847   QualType RebuildDependentVectorType(QualType ElementType, Expr *SizeExpr,
  847   QualType RebuildDependentVectorType(QualType ElementType, Expr *SizeExpr,
  856   QualType RebuildExtVectorType(QualType ElementType, unsigned NumElements,
  856   QualType RebuildExtVectorType(QualType ElementType, unsigned NumElements,
  864   QualType RebuildDependentSizedExtVectorType(QualType ElementType,
  864   QualType RebuildDependentSizedExtVectorType(QualType ElementType,
  876   QualType RebuildDependentAddressSpaceType(QualType PointeeType,
  876   QualType RebuildDependentAddressSpaceType(QualType PointeeType,
  884   QualType RebuildFunctionProtoType(QualType T,
  884   QualType RebuildFunctionProtoType(QualType T,
  885                                     MutableArrayRef<QualType> ParamTypes,
  889   QualType RebuildFunctionNoProtoType(QualType ResultType);
  889   QualType RebuildFunctionNoProtoType(QualType ResultType);
  893   QualType RebuildUnresolvedUsingType(SourceLocation NameLoc, Decl *D);
  896   QualType RebuildTypedefType(TypedefNameDecl *Typedef) {
  901   QualType RebuildMacroQualifiedType(QualType T,
  901   QualType RebuildMacroQualifiedType(QualType T,
  907   QualType RebuildRecordType(RecordDecl *Record) {
  912   QualType RebuildEnumType(EnumDecl *Enum) {
  920   QualType RebuildTypeOfExprType(Expr *Underlying, SourceLocation Loc);
  925   QualType RebuildTypeOfType(QualType Underlying);
  925   QualType RebuildTypeOfType(QualType Underlying);
  928   QualType RebuildUnaryTransformType(QualType BaseType,
  928   QualType RebuildUnaryTransformType(QualType BaseType,
  936   QualType RebuildDecltypeType(Expr *Underlying, SourceLocation Loc);
  941   QualType RebuildAutoType(QualType Deduced, AutoTypeKeyword Keyword) {
  941   QualType RebuildAutoType(QualType Deduced, AutoTypeKeyword Keyword) {
  951   QualType RebuildDeducedTemplateSpecializationType(TemplateName Template,
  952       QualType Deduced) {
  962   QualType RebuildTemplateSpecializationType(TemplateName Template,
  970   QualType RebuildParenType(QualType InnerType) {
  970   QualType RebuildParenType(QualType InnerType) {
  979   QualType RebuildElaboratedType(SourceLocation KeywordLoc,
  982                                  QualType Named) {
  993   QualType RebuildDependentTemplateSpecializationType(
 1021     QualType T =
 1038   QualType RebuildDependentNameType(ElaboratedTypeKeyword Keyword,
 1056       QualType T = SemaRef.CheckTypenameType(Keyword, KeywordLoc, QualifierLoc,
 1140     QualType T = SemaRef.Context.getTypeDeclType(Tag);
 1150   QualType RebuildPackExpansionType(QualType Pattern,
 1150   QualType RebuildPackExpansionType(QualType Pattern,
 1162   QualType RebuildAtomicType(QualType ValueType, SourceLocation KWLoc);
 1162   QualType RebuildAtomicType(QualType ValueType, SourceLocation KWLoc);
 1165   QualType RebuildPipeType(QualType ValueType, SourceLocation KWLoc,
 1165   QualType RebuildPipeType(QualType ValueType, SourceLocation KWLoc,
 1188                                    SourceLocation NameLoc, QualType ObjectType,
 1202                                    SourceLocation NameLoc, QualType ObjectType,
 1469                                     TypeSourceInfo *TInfo, QualType T) {
 2328     QualType BaseType = Base->getType();
 3237     QualType CalleePtrTy = SemaRef.Context.getPointerType(Builtin->getType());
 3354                                      QualType ObjectType,
 3359                                              QualType ObjectType,
 3363   TypeSourceInfo *TransformTSIInObjectScope(TypeLoc TL, QualType ObjectType,
 3367   QualType TransformDependentNameType(TypeLocBuilder &TLB,
 3670                                                      QualType ObjectType,
 3822       QualType NewT = getDerived().TransformType(Name.getCXXNameType());
 3846                                               QualType ObjectType,
 4239 QualType TreeTransform<Derived>::TransformType(QualType T) {
 4239 QualType TreeTransform<Derived>::TransformType(QualType T) {
 4269   QualType Result = getDerived().TransformType(TLB, TL);
 4277 QualType
 4292 QualType TreeTransform<Derived>::TransformTypeWithDeducedTST(QualType T) {
 4292 QualType TreeTransform<Derived>::TransformTypeWithDeducedTST(QualType T) {
 4327   QualType Result = getDerived().TransformDependentNameType(
 4343 QualType
 4346   QualType Result = getDerived().TransformType(TLB, T.getUnqualifiedLoc());
 4364 QualType TreeTransform<Derived>::RebuildQualifiedType(QualType T,
 4364 QualType TreeTransform<Derived>::RebuildQualifiedType(QualType T,
 4411         QualType Replacement = SubstTypeParam->getReplacementType();
 4420         QualType Deduced = AutoTy->getDeducedType();
 4443                                                    QualType ObjectType,
 4459                                                    QualType ObjectType,
 4471     TypeLoc TL, QualType ObjectType, NamedDecl *UnqualLookup,
 4473   QualType T = TL.getType();
 4477   QualType Result;
 4521 QualType TransformTypeSpecType(TypeLocBuilder &TLB, TyLoc T) {
 4528 QualType TreeTransform<Derived>::TransformBuiltinType(TypeLocBuilder &TLB,
 4538 QualType TreeTransform<Derived>::TransformComplexType(TypeLocBuilder &TLB,
 4545 QualType TreeTransform<Derived>::TransformAdjustedType(TypeLocBuilder &TLB,
 4552 QualType TreeTransform<Derived>::TransformDecayedType(TypeLocBuilder &TLB,
 4554   QualType OriginalType = getDerived().TransformType(TLB, TL.getOriginalLoc());
 4558   QualType Result = TL.getType();
 4569 static void deduceOpenCLPointeeAddrSpace(Sema &SemaRef, QualType &PointeeType) {
 4576 QualType TreeTransform<Derived>::TransformPointerType(TypeLocBuilder &TLB,
 4578   QualType PointeeType
 4586   QualType Result = TL.getType();
 4616 QualType
 4619   QualType PointeeType
 4627   QualType Result = TL.getType();
 4646 QualType
 4652   QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
 4659   QualType Result = TL.getType();
 4686 QualType
 4693 QualType
 4700 QualType
 4703   QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
 4716   QualType OldClsType = QualType(T->getClass(), 0);
 4717   QualType NewClsType;
 4726   QualType Result = TL.getType();
 4752 QualType
 4756   QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
 4772   QualType Result = TL.getType();
 4798 QualType TreeTransform<Derived>::TransformIncompleteArrayType(
 4802   QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
 4806   QualType Result = TL.getType();
 4826 QualType
 4830   QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
 4849   QualType Result = TL.getType();
 4873 QualType
 4877   QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
 4897   QualType Result = TL.getType();
 4921 QualType TreeTransform<Derived>::TransformDependentVectorType(
 4924   QualType ElementType = getDerived().TransformType(T->getElementType());
 4936   QualType Result = TL.getType();
 4959 QualType TreeTransform<Derived>::TransformDependentSizedExtVectorType(
 4965   QualType ElementType = getDerived().TransformType(T->getElementType());
 4978   QualType Result = TL.getType();
 5003 QualType TreeTransform<Derived>::TransformDependentAddressSpaceType(
 5007   QualType pointeeType = getDerived().TransformType(T->getPointeeType());
 5021   QualType Result = TL.getType();
 5049 QualType TreeTransform<Derived>::TransformVectorType(TypeLocBuilder &TLB,
 5052   QualType ElementType = getDerived().TransformType(T->getElementType());
 5056   QualType Result = TL.getType();
 5072 QualType TreeTransform<Derived>::TransformExtVectorType(TypeLocBuilder &TLB,
 5075   QualType ElementType = getDerived().TransformType(T->getElementType());
 5079   QualType Result = TL.getType();
 5112     QualType Result = getDerived().TransformType(TLB,
 5153     const QualType *ParamTypes,
 5155     SmallVectorImpl<QualType> &OutParamTypes,
 5268     QualType OldType = ParamTypes[i];
 5271     QualType NewType;
 5275       QualType Pattern = Expansion->getPattern();
 5295           QualType NewType = getDerived().TransformType(Pattern);
 5322         QualType NewType = getDerived().TransformType(Pattern);
 5369 QualType
 5372   SmallVector<QualType, 4> ExceptionStorage;
 5383 QualType TreeTransform<Derived>::TransformFunctionProtoType(
 5394   SmallVector<QualType, 4> ParamTypes;
 5399   QualType ResultType;
 5456   QualType Result = TL.getType();
 5479     SmallVectorImpl<QualType> &Exceptions, bool &Changed) {
 5506   for (QualType T : ESI.Exceptions) {
 5535         QualType U = getDerived().TransformType(PackExpansion->getPattern());
 5549         QualType U = getDerived().TransformType(PackExpansion->getPattern());
 5556       QualType U = getDerived().TransformType(T);
 5573 QualType TreeTransform<Derived>::TransformFunctionNoProtoType(
 5577   QualType ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
 5581   QualType Result = TL.getType();
 5594 template<typename Derived> QualType
 5602   QualType Result = TL.getType();
 5618 QualType TreeTransform<Derived>::TransformTypedefType(TypeLocBuilder &TLB,
 5627   QualType Result = TL.getType();
 5642 QualType TreeTransform<Derived>::TransformTypeOfExprType(TypeLocBuilder &TLB,
 5657   QualType Result = TL.getType();
 5675 QualType TreeTransform<Derived>::TransformTypeOfType(TypeLocBuilder &TLB,
 5682   QualType Result = TL.getType();
 5699 QualType TreeTransform<Derived>::TransformDecltypeType(TypeLocBuilder &TLB,
 5716   QualType Result = TL.getType();
 5732 QualType TreeTransform<Derived>::TransformUnaryTransformType(
 5735   QualType Result = TL.getType();
 5738     QualType NewBase =
 5755 QualType TreeTransform<Derived>::TransformAutoType(TypeLocBuilder &TLB,
 5758   QualType OldDeduced = T->getDeducedType();
 5759   QualType NewDeduced;
 5766   QualType Result = TL.getType();
 5781 QualType TreeTransform<Derived>::TransformDeducedTemplateSpecializationType(
 5791   QualType OldDeduced = T->getDeducedType();
 5792   QualType NewDeduced;
 5799   QualType Result = getDerived().RebuildDeducedTemplateSpecializationType(
 5812 QualType TreeTransform<Derived>::TransformRecordType(TypeLocBuilder &TLB,
 5821   QualType Result = TL.getType();
 5836 QualType TreeTransform<Derived>::TransformEnumType(TypeLocBuilder &TLB,
 5845   QualType Result = TL.getType();
 5860 QualType TreeTransform<Derived>::TransformInjectedClassNameType(
 5867   QualType T = SemaRef.Context.getTypeDeclType(cast<TypeDecl>(D));
 5873 QualType TreeTransform<Derived>::TransformTemplateTypeParmType(
 5880 QualType TreeTransform<Derived>::TransformSubstTemplateTypeParmType(
 5889   QualType Replacement = getDerived().TransformType(T->getReplacementType());
 5895   QualType Result
 5908 QualType TreeTransform<Derived>::TransformSubstTemplateTypeParmPackType(
 5915 QualType TreeTransform<Derived>::TransformTemplateSpecializationType(
 5933 QualType TreeTransform<Derived>::TransformAtomicType(TypeLocBuilder &TLB,
 5935   QualType ValueType = getDerived().TransformType(TLB, TL.getValueLoc());
 5939   QualType Result = TL.getType();
 5956 QualType TreeTransform<Derived>::TransformPipeType(TypeLocBuilder &TLB,
 5958   QualType ValueType = getDerived().TransformType(TLB, TL.getValueLoc());
 5962   QualType Result = TL.getType();
 6043 QualType TreeTransform<Derived>::TransformTemplateSpecializationType(
 6059   QualType Result =
 6097 QualType TreeTransform<Derived>::TransformDependentTemplateSpecializationType(
 6115     QualType Result
 6135   QualType Result
 6156 QualType
 6170   QualType NamedT = getDerived().TransformType(TLB, TL.getNamedTypeLoc());
 6193   QualType Result = TL.getType();
 6211 QualType TreeTransform<Derived>::TransformAttributedType(
 6215   QualType modifiedType = getDerived().TransformType(TLB, TL.getModifiedLoc());
 6225   QualType result = TL.getType();
 6232     QualType equivalentType
 6259 QualType
 6262   QualType Inner = getDerived().TransformType(TLB, TL.getInnerLoc());
 6266   QualType Result = TL.getType();
 6281 QualType
 6284   QualType Inner = getDerived().TransformType(TLB, TL.getInnerLoc());
 6288   QualType Result = TL.getType();
 6302 QualType TreeTransform<Derived>::TransformDependentNameType(
 6308 QualType TreeTransform<Derived>::TransformDependentNameType(
 6317   QualType Result
 6328     QualType NamedT = ElabT->getNamedType();
 6344 QualType TreeTransform<Derived>::
 6360 QualType TreeTransform<Derived>::
 6377   QualType Result = getDerived().RebuildDependentTemplateSpecializationType(
 6385     QualType NamedT = ElabT->getNamedType();
 6426 QualType TreeTransform<Derived>::TransformPackExpansionType(TypeLocBuilder &TLB,
 6428   QualType Pattern
 6433   QualType Result = TL.getType();
 6450 QualType
 6459 QualType
 6468   QualType Result = TL.getType();
 6492 QualType
 6496   QualType BaseType = getDerived().TransformType(TLB, TL.getBaseLoc());
 6507     QualType TypeArg = TypeArgInfo->getType();
 6538         QualType NewPatternType = getDerived().TransformType(TypeArgBuilder,
 6543         QualType NewExpansionType = SemaRef.Context.getPackExpansionType(
 6560         QualType NewTypeArg = getDerived().TransformType(TypeArgBuilder,
 6574     QualType NewTypeArg = getDerived().TransformType(TypeArgBuilder, TypeArgLoc);
 6589   QualType Result = TL.getType();
 6616 QualType
 6619   QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
 6623   QualType Result = TL.getType();
 7417     QualType T;
10111   QualType T = getDerived().TransformType(E->getType());
10539   QualType T = getSema().getCurrentThisType();
10682       QualType ElementType
10695   QualType AllocType = AllocTypeInfo->getType();
10752       QualType Destroyed = SemaRef.Context.getBaseElementType(
10786   QualType ObjectType = ObjectTypePtr.get();
10980       QualType To = getDerived().TransformType(TLB, FromTL);
11024       QualType To = getDerived().TransformType(TLB, PatternTL);
11048       QualType To = getDerived().TransformType(TLB, PatternTL);
11078     QualType To = getDerived().TransformType(TLB, PatternTL);
11250   QualType T = getDerived().TransformType(E->getType());
11290   QualType T = getDerived().TransformType(E->getType());
11411       QualType NewInitCaptureType =
11477     SmallVector<QualType, 4> ExceptionStorage;
11479     QualType NewCallOpType = TransformFunctionProtoType(
11579         QualType InitQualType = Info.second;
11782   QualType BaseType;
11783   QualType ObjectType;
11881   QualType BaseType;
12736   SmallVector<QualType, 4> paramTypes;
12750   QualType exprResultType =
12756   QualType functionType =
12829 QualType TreeTransform<Derived>::RebuildPointerType(QualType PointeeType,
12829 QualType TreeTransform<Derived>::RebuildPointerType(QualType PointeeType,
12836 QualType TreeTransform<Derived>::RebuildBlockPointerType(QualType PointeeType,
12836 QualType TreeTransform<Derived>::RebuildBlockPointerType(QualType PointeeType,
12843 QualType
12844 TreeTransform<Derived>::RebuildReferenceType(QualType ReferentType,
12852 QualType
12853 TreeTransform<Derived>::RebuildMemberPointerType(QualType PointeeType,
12854                                                  QualType ClassType,
12861 QualType TreeTransform<Derived>::RebuildObjCTypeParamType(
12874 QualType TreeTransform<Derived>::RebuildObjCObjectType(
12875            QualType BaseType,
12892 QualType TreeTransform<Derived>::RebuildObjCObjectPointerType(
12893            QualType PointeeType,
12899 QualType
12900 TreeTransform<Derived>::RebuildArrayType(QualType ElementType,
12911   QualType Types[] = {
12917   QualType SizeType;
12935 QualType
12936 TreeTransform<Derived>::RebuildConstantArrayType(QualType ElementType,
12947 QualType
12948 TreeTransform<Derived>::RebuildIncompleteArrayType(QualType ElementType,
12957 QualType
12958 TreeTransform<Derived>::RebuildVariableArrayType(QualType ElementType,
12969 QualType
12970 TreeTransform<Derived>::RebuildDependentSizedArrayType(QualType ElementType,
12981 QualType TreeTransform<Derived>::RebuildDependentAddressSpaceType(
12982     QualType PointeeType, Expr *AddrSpaceExpr, SourceLocation AttributeLoc) {
12988 QualType
12989 TreeTransform<Derived>::RebuildVectorType(QualType ElementType,
12997 QualType TreeTransform<Derived>::RebuildDependentVectorType(
12998     QualType ElementType, Expr *SizeExpr, SourceLocation AttributeLoc,
13004 QualType TreeTransform<Derived>::RebuildExtVectorType(QualType ElementType,
13004 QualType TreeTransform<Derived>::RebuildExtVectorType(QualType ElementType,
13016 QualType
13017 TreeTransform<Derived>::RebuildDependentSizedExtVectorType(QualType ElementType,
13024 QualType TreeTransform<Derived>::RebuildFunctionProtoType(
13025     QualType T,
13026     MutableArrayRef<QualType> ParamTypes,
13035 QualType TreeTransform<Derived>::RebuildFunctionNoProtoType(QualType T) {
13035 QualType TreeTransform<Derived>::RebuildFunctionNoProtoType(QualType T) {
13040 QualType TreeTransform<Derived>::RebuildUnresolvedUsingType(SourceLocation Loc,
13060     QualType FallbackT;
13061     QualType T;
13063       QualType ThisT = RebuildUnresolvedUsingType(Loc, E);
13092 QualType TreeTransform<Derived>::RebuildTypeOfExprType(Expr *E,
13098 QualType TreeTransform<Derived>::RebuildTypeOfType(QualType Underlying) {
13098 QualType TreeTransform<Derived>::RebuildTypeOfType(QualType Underlying) {
13103 QualType TreeTransform<Derived>::RebuildDecltypeType(Expr *E,
13109 QualType TreeTransform<Derived>::RebuildUnaryTransformType(QualType BaseType,
13109 QualType TreeTransform<Derived>::RebuildUnaryTransformType(QualType BaseType,
13116 QualType TreeTransform<Derived>::RebuildTemplateSpecializationType(
13124 QualType TreeTransform<Derived>::RebuildAtomicType(QualType ValueType,
13124 QualType TreeTransform<Derived>::RebuildAtomicType(QualType ValueType,
13130 QualType TreeTransform<Derived>::RebuildPipeType(QualType ValueType,
13130 QualType TreeTransform<Derived>::RebuildPipeType(QualType ValueType,
13152                                             QualType ObjectType,
13172                                             QualType ObjectType,
13322   QualType BaseType = Base->getType();
tools/clang/lib/Sema/TypeLocBuilder.cpp
   62 TypeLoc TypeLocBuilder::pushImpl(QualType T, size_t LocalSize, unsigned LocalAlignment) {
   64   QualType TLast = TypeLoc(T, nullptr).getNextTypeLoc().getType();
tools/clang/lib/Sema/TypeLocBuilder.h
   37   QualType LastTy;
   68   TypeSpecTypeLoc pushTypeSpec(QualType T) {
   85   void TypeWasModifiedSafely(QualType T) {
   93   template <class TyLocType> TyLocType push(QualType T) {
  101   TypeSourceInfo *getTypeSourceInfo(ASTContext& Context, QualType T) {
  114   TypeLoc getTypeLocInContext(ASTContext &Context, QualType T) {
  127   TypeLoc pushImpl(QualType T, size_t LocalSize, unsigned LocalAlignment);
  138   TypeLoc getTemporaryTypeLoc(QualType T) {
tools/clang/lib/Serialization/ASTCommon.h
   50 TypeID MakeTypeID(ASTContext &Context, QualType T, IdxForTypeTy IdxForType) {
tools/clang/lib/Serialization/ASTReader.cpp
 4817       QualType FileType = GetType(File);
 4838       QualType Jmp_bufType = GetType(Jmp_buf);
 4859       QualType Sigjmp_bufType = GetType(Sigjmp_buf);
 4895       QualType Ucontext_tType = GetType(Ucontext_t);
 6315 QualType ASTReader::readTypeRecord(unsigned Index) {
 6354     QualType Base = readType(*Loc.F, Record, Idx);
 6364     QualType ElemType = readType(*Loc.F, Record, Idx);
 6373     QualType PointeeType = readType(*Loc.F, Record, Idx);
 6382     QualType OriginalType = readType(*Loc.F, Record, Idx);
 6383     QualType DT = Context.getAdjustedParameterType(OriginalType);
 6394     QualType OriginalTy = readType(*Loc.F, Record, Idx);
 6395     QualType AdjustedTy = readType(*Loc.F, Record, Idx);
 6404     QualType PointeeType = readType(*Loc.F, Record, Idx);
 6413     QualType PointeeType = readType(*Loc.F, Record, Idx);
 6422     QualType PointeeType = readType(*Loc.F, Record, Idx);
 6431     QualType PointeeType = readType(*Loc.F, Record, Idx);
 6432     QualType ClassType = readType(*Loc.F, Record, Idx);
 6440     QualType ElementType = readType(*Loc.F, Record, Idx);
 6451     QualType ElementType = readType(*Loc.F, Record, Idx);
 6458     QualType ElementType = readType(*Loc.F, Record, Idx);
 6474     QualType ElementType = readType(*Loc.F, Record, Idx);
 6487     QualType ElementType = readType(*Loc.F, Record, Idx);
 6497     QualType ResultType = readType(*Loc.F, Record, Idx);
 6505     QualType ResultType = readType(*Loc.F, Record, Idx);
 6522     SmallVector<QualType, 8> ExceptionStorage;
 6526     SmallVector<QualType, 16> ParamTypes;
 6557     QualType Canonical = readType(*Loc.F, Record, Idx);
 6571     QualType UnderlyingType = readType(*Loc.F, Record, Idx);
 6576     QualType UnderlyingType = readType(*Loc.F, Record, Idx);
 6581     QualType BaseType = readType(*Loc.F, Record, Idx);
 6582     QualType UnderlyingType = readType(*Loc.F, Record, Idx);
 6588     QualType Deduced = readType(*Loc.F, Record, Idx);
 6601     QualType Deduced = readType(*Loc.F, Record, Idx);
 6616     QualType T = Context.getRecordType(RD);
 6628     QualType T
 6639     QualType modifiedType = readType(*Loc.F, Record, Idx);
 6640     QualType equivalentType = readType(*Loc.F, Record, Idx);
 6650     QualType InnerType = readType(*Loc.F, Record, Idx);
 6659     QualType UnderlyingTy = readType(*Loc.F, Record, Idx);
 6669     QualType Pattern = readType(*Loc.F, Record, Idx);
 6682     QualType NamedType = readType(*Loc.F, Record, Idx);
 6707     QualType Base = readType(*Loc.F, Record, Idx);
 6709     SmallVector<QualType, 4> TypeArgs;
 6722     QualType Pointee = readType(*Loc.F, Record, Idx);
 6728     QualType Parm = readType(*Loc.F, Record, Idx);
 6729     QualType Replacement = readType(*Loc.F, Record, Idx);
 6737     QualType Parm = readType(*Loc.F, Record, Idx);
 6746     QualType TST = readType(*Loc.F, Record, Idx); // probably derivable
 6779     QualType Canon = readType(*Loc.F, Record, Idx);
 6803     QualType ElementType = readType(*Loc.F, Record, Idx);
 6822     QualType Underlying = readType(*Loc.F, Record, Idx);
 6823     QualType T;
 6837     QualType ValueType = readType(*Loc.F, Record, Idx);
 6848     QualType ElementType = readType(*Loc.F, Record, Idx);
 6855     QualType ElementType = readType(*Loc.F, Record, Idx);
 6868     QualType ElementType = readType(*Loc.F, Record, Idx);
 6880     QualType PointeeType = readType(*Loc.F, Record, Idx);
 6892                                   SmallVectorImpl<QualType> &Exceptions,
 7249   QualType InfoTy = readType(F, Record, Idx);
 7258 QualType ASTReader::GetType(TypeID ID) {
 7266     QualType T;
 7513 QualType ASTReader::getLocalType(ModuleFile &F, unsigned LocalID) {
 9309     QualType T = readType(F, Record, Idx);
10862         QualType FirstType = FirstField->getType();
10863         QualType SecondType = SecondField->getType();
11097           QualType FirstParamType = FirstParam->getType();
11098           QualType SecondParamType = SecondParam->getType();
11327         QualType FirstType = FirstTD->getUnderlyingType();
11328         QualType SecondType = SecondTD->getUnderlyingType();
11358         QualType FirstType = FirstVD->getType();
11359         QualType SecondType = SecondVD->getType();
11436           QualType FirstFriendType = FirstTSI->getType();
11437           QualType SecondFriendType = SecondTSI->getType();
11563               QualType FirstType = FirstTTPD->getDefaultArgument();
11564               QualType SecondType = SecondTTPD->getDefaultArgument();
11682             QualType FirstType = FirstNTTPD->getType();
11683             QualType SecondType = SecondNTTPD->getType();
11860         QualType FirstParamType = FirstParam->getType();
11861         QualType SecondParamType = SecondParam->getType();
12027       QualType FirstUnderlyingType =
12031       QualType SecondUnderlyingType =
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  675     QualType modedT = Record.readType();
  832   QualType TSIType = Record.readType();
 1267   QualType T = Record.readType();
 2301         D->getTrailingObjects<std::pair<QualType, TypeSourceInfo *>>();
 2303       new (&TypesAndInfos[I].first) QualType(Record.readType());
 3019     QualType XT = GetTypeAsWritten(FuncX), YT = GetTypeAsWritten(FuncY);
 3439 static bool isUndeducedReturnType(QualType T) {
 4440       SmallVector<QualType, 8> ExceptionStorage;
 4463       QualType DeducedResultType = Record.readType();
tools/clang/lib/Serialization/ASTReaderStmt.cpp
 1295     QualType T = Record.readType();
tools/clang/lib/Serialization/ASTWriter.cpp
  155     void Visit(QualType T) {
  557   for (auto TypeArg : T->getTypeArgsAsWritten())
 3193 void ASTWriter::WriteType(QualType T) {
 5633 void ASTWriter::AddTypeRef(QualType T, RecordDataImpl &Record) {
 5637 TypeID ASTWriter::GetOrCreateTypeID(QualType T) {
 5660 TypeID ASTWriter::getTypeID(QualType T) const {
 6297 void ASTWriter::TypeRead(TypeIdx Idx, QualType T) {
 6421 void ASTWriter::DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) {
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
  329         QualType elemType = elemReg->getElementType();
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  381   QualType T;
  476   QualType T = Ctx.getCanonicalType(R->getValueType());
  750     QualType ArgTy = msg.getArgExpr(I)->getType();
  830 static bool isKnownNonNilCollectionType(QualType T) {
tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
   43 static bool isBooleanType(QualType Ty) {
   65   QualType valTy = TR->getValueType();
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  163                     ProgramStateRef state, SVal V, QualType Ty);
  269                            QualType Ty) {
  386   QualType sizeTy = Size->getType();
  387   QualType PtrTy = Ctx.getPointerType(Ctx.CharTy);
  496   QualType cmpTy = svalBuilder.getConditionType();
  527   QualType CharPtrTy = Ctx.getPointerType(Ctx.CharTy);
  673   QualType sizeTy = svalBuilder.getContext().getSizeType();
  690     QualType cmpTy = svalBuilder.getConditionType();
  767   QualType sizeTy = svalBuilder.getContext().getSizeType();
  827     QualType sizeTy = svalBuilder.getContext().getSizeType();
  899   QualType sizeTy = Size->getType();
  900   QualType PtrTy = Ctx.getPointerType(Ctx.CharTy);
 1149   QualType sizeTy = Size->getType();
 1202       QualType CharPtrTy = Ctx.getPointerType(Ctx.CharTy);
 1287   QualType sizeTy = Size->getType();
 1409     QualType cmpTy = C.getSValBuilder().getConditionType();
 1569   QualType cmpTy = svalBuilder.getConditionType();
 1570   QualType sizeTy = svalBuilder.getContext().getSizeType();
 1807     QualType ptrTy = Dst->getType();
 2035   QualType CharPtrTy = SearchStrPtr->getType()->getPointeeType();
 2138   QualType SizeTy = Size->getType();
 2186   QualType SizeTy = Size->getType();
 2243     QualType T = I->getType();
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  207     QualType T = R->getValueType();
  513   QualType ResTy = msg.getResultType();
  552   QualType RetTy = Msg.getResultType();
tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
   49                                   CharUnits TypeSize, QualType ToPointeeTy) {
   90   QualType ToTy = Ctx.getCanonicalType(CE->getType());
   96   QualType ToPointeeTy = ToPTy->getPointeeType();
tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
   42   QualType OrigTy = Ctx.getCanonicalType(E->getType());
   43   QualType ToTy = Ctx.getCanonicalType(CE->getType());
   51   QualType OrigPointeeTy = OrigPTy->getPointeeType();
   52   QualType ToPointeeTy = ToPTy->getPointeeType();
tools/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
  105                                  QualType CastToTy, const Expr *Object,
  141 static QualType alignReferenceTypes(QualType toAlign, QualType alignTowards,
  141 static QualType alignReferenceTypes(QualType toAlign, QualType alignTowards,
  141 static QualType alignReferenceTypes(QualType toAlign, QualType alignTowards,
  164   QualType CastFromTy;
  165   QualType CastToTy = Call.getResultType();
  221   QualType CastFromTy = Call.parameters()[0]->getType();
  222   QualType CastToTy = FD->getTemplateSpecializationArgs()->get(0).getAsType();
  401     QualType ParamT = Call.parameters()[0]->getType();
  402     QualType ResultT = Call.getResultType();
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
   79   QualType T = (*ID)->getType();
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp
   28 static bool AreTypesCompatible(QualType Derived, QualType Ancestor,
   28 static bool AreTypesCompatible(QualType Derived, QualType Ancestor,
   45   QualType ResDerived = MethDerived->getReturnType();
   46   QualType ResAncestor = MethAncestor->getReturnType();
tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
   54   QualType T = E->getTypeOfArgument();
tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
   47   bool isLossOfPrecision(const ImplicitCastExpr *Cast, QualType DestType,
  129                                           QualType DestType,
  135   QualType SubType = Cast->IgnoreParenImpCasts()->getType();
  186   QualType CastType = Cast->getType();
  187   QualType SubType = Cast->IgnoreParenImpCasts()->getType();
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  339           QualType T = VD->getType();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
   59   void reportTypeError(QualType DynamicType, QualType StaticType,
   59   void reportTypeError(QualType DynamicType, QualType StaticType,
   68 void DynamicTypeChecker::reportTypeError(QualType DynamicType,
   69                                          QualType StaticType,
   77   QualType::print(DynamicType.getTypePtr(), Qualifiers(), OS, C.getLangOpts(),
   80   QualType::print(StaticType.getTypePtr(), Qualifiers(), OS, C.getLangOpts(),
  115   QualType::print(TrackedType.getType().getTypePtr(), Qualifiers(), OS,
  121     QualType::print(ExplicitCast->getSubExpr()->getType().getTypePtr(),
  124     QualType::print(ExplicitCast->getType().getTypePtr(), Qualifiers(), OS,
  129     QualType::print(ImplicitCast->getSubExpr()->getType().getTypePtr(),
  132     QualType::print(ImplicitCast->getType().getTypePtr(), Qualifiers(), OS,
  170   QualType DynType = DynTypeInfo.getType();
  171   QualType StaticType = CE->getType();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  137   QualType Ty = Ctx.getPointerType(Ctx.getRecordType(MD->getParent()));
  216         QualType DynResTy =
  354   QualType OldDTy = getDynamicTypeInfo(C.getState(), ToR).getType();
  399   QualType SuperPtrOfToQual =
  525   QualType OriginType = CE->getSubExpr()->getType();
  526   QualType DestType = CE->getType();
  619 static bool isObjCTypeParamDependent(QualType Type) {
  653   QualType ReceiverType = MessageExpr->getReceiverType();
  683 static QualType getReturnTypeForMethod(
  684     const ObjCMethodDecl *Method, ArrayRef<QualType> TypeArgs,
  686   QualType StaticResultType = Method->getReturnType();
  696   QualType ResultType = StaticResultType.substObjCTypeArgs(
  759   Optional<ArrayRef<QualType>> TypeArgs =
  770     QualType OrigParamType = Param->getType();
  774     QualType ParamType = OrigParamType.substObjCTypeArgs(
  829     QualType ReceiverType = MessageExpr->getClassReceiver();
  834     QualType ReceiverClassPointerType =
  861   Optional<ArrayRef<QualType>> TypeArgs =
  866   QualType ResultType =
  910   QualType::print(From, Qualifiers(), OS, C.getLangOpts(), llvm::Twine());
  912   QualType::print(To, Qualifiers(), OS, C.getLangOpts(), llvm::Twine());
  949   QualType::print(*TrackedType, Qualifiers(), OS, LangOpts, llvm::Twine());
  954     QualType::print(ExplicitCast->getSubExpr()->getType().getTypePtr(),
  957     QualType::print(ExplicitCast->getType().getTypePtr(), Qualifiers(), OS,
  962     QualType::print(ImplicitCast->getSubExpr()->getType().getTypePtr(),
  965     QualType::print(ImplicitCast->getType().getTypePtr(), Qualifiers(), OS,
tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp
  119   const QualType T = CE->getType();
tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
   42   QualType T = B->getType();
tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
  569   QualType ArgTy = Arg->getType().getCanonicalType();
  573   QualType ValTy = ArgTy->getPointeeType();
  638       QualType PType = ArgTy->getPointeeType();
tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
  159       QualType ParamTy = FD->getParamDecl(I)->getType();
  294   QualType ObjTy = TypedRegion->getValueType();
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
  273 bool isIteratorType(const QualType &Type);
  304                                      QualType T, const LocationContext *LCtx,
  307                                    const Expr *E, QualType T,
  532       const auto TAType = TArgs->get(I).getAsType();
 1644 bool isIteratorType(const QualType &Type) {
 1918   auto Type = TI.getType();
 1944                                      QualType T, const LocationContext *LCtx,
 1966                                    const Expr *E, QualType T,
 2108   QualType T = Sym->getType();
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  281   QualType IvQTy = Iv->getType();
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
   29 static bool IsLLVMStringRef(QualType T) {
   49 static bool IsStdString(QualType T) {
   81 static bool IsStdVector(QualType T) {
   95 static bool IsSmallVector(QualType T) {
  192 static bool AllocatesMemory(QualType T) {
  202     QualType T = BS.getType();
  226   void ReportError(QualType T);
  244   QualType T = D->getType();
  258 void ASTFieldVisitor::ReportError(QualType T) {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
  901 static inline bool isNSStringType(QualType T, ASTContext &Ctx) {
  933   const QualType RT = Call.getResultType();
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1295 static QualType getDeepPointeeType(QualType T) {
 1295 static QualType getDeepPointeeType(QualType T) {
 1296   QualType Result = T, PointeeType = T->getPointeeType();
 1320     QualType CtorParamPointeeT = CtorParam->getType()->getPointeeType();
 1400   QualType ElementType = NE->getAllocatedType();
 3237           QualType ObjTy = TypedRegion->getValueType();
tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
  137 static bool typesCompatible(ASTContext &C, QualType A, QualType B) {
  137 static bool typesCompatible(ASTContext &C, QualType A, QualType B) {
  162 static bool compatibleWithArrayType(ASTContext &C, QualType PT, QualType T) {
  162 static bool compatibleWithArrayType(ASTContext &C, QualType PT, QualType T) {
  165     QualType ElemType = AT->getElementType();
  183       QualType CastedType = i->CastedExpr->getType();
  186       QualType PointeeType = CastedType->getPointeeType();
  200         QualType SizeofType = SFinder.Sizeofs[0]->getTypeOfArgument();
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
   31 static bool IsNSError(QualType T, IdentifierInfo *II);
   32 static bool IsCFError(QualType T, IdentifierInfo *II);
  187 static QualType parameterTypeFromSVal(SVal val, CheckerContext &C) {
  218   QualType parmT = parameterTypeFromSVal(loc, C);
  280 static bool IsNSError(QualType T, IdentifierInfo *II) {
  301 static bool IsCFError(QualType T, IdentifierInfo *II) {
tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
  112       QualType T = ArgE->getType();
tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
   51   bool isNonnullType(QualType Ty) const;
  103   QualType Ty = Decl->getType();
  129 bool NonnullGlobalConstantsChecker::isNonnullType(QualType Ty) const {
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
  332                                                   SVal LV, QualType T) {
  541   QualType RequiredRetType;
  753   QualType ReturnType = FuncType->getReturnType();
  821   QualType RetType = Decl->getReturnType();
  933   QualType OriginType = CE->getSubExpr()->getType();
  934   QualType DestType = CE->getType();
 1060   QualType LocType = TVR->getValueType();
tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
  122       (Result.Nodes.getNodeAs<QualType>("int_type") != nullptr);
  124       (Result.Nodes.getNodeAs<QualType>("objc_bool_type") != nullptr);
  126       (Result.Nodes.getNodeAs<QualType>("cpp_bool_type") != nullptr);
  132   QualType ObjT = Obj->getType().getUnqualifiedType();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
  114   QualType Ty = PVD->getType();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
   45     QualType T = E->getType();
   49     QualType PointeeT = TP->getPointeeType();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
  139     const QualType T = IdxExpr->getType();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
   46   QualType T = D->getType();
tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
  179       QualType Ty = FD->getType();
  314     Os << QualType::getAsString(RD->getTypeForDecl(), Qualifiers(),
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
  188   QualType QT = CE->getType();
  251     QualType ResultTy = Ex->getType();
  277     QualType ResultTy = Ex->getType();
  299   QualType Ty = Sym->getType();
  354                                        QualType ReceiverType) {
  368   QualType ReceiverType;
  394 static QualType GetReturnType(const Expr *RetE, ASTContext &Ctx) {
  395   QualType RetTy = RetE->getType();
  416                                             QualType ResultTy) {
  426 static bool isPointerToObject(QualType QT) {
  427   QualType PT = QT->getPointeeType();
  559     QualType PointeeTy = ArgRegion->getValueType();
  689     QualType ResultTy = CallOrMsg.getResultType();
  901   QualType ResultTy = Call.getResultType();
 1351     QualType Ty = Param->getType();
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
   87   QualType T;
  110   RefVal(Kind k, ObjKind o, unsigned cnt, unsigned acnt, QualType t,
  141   QualType getType() const { return T; }
  172   static RefVal makeOwned(ObjKind o, QualType t) {
  180   static RefVal makeNotOwned(ObjKind o, QualType t) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
   83 static std::string getPrettyTypeName(QualType QT) {
   84   QualType PT = QT->getPointeeType();
  203 static std::string findAllocatedObjectName(const Stmt *S, QualType QT) {
  274     QualType T = Sym->getType();
  298     QualType RT = (*CE)->getResultType();
tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
   46   QualType RT = CallEvent::getDeclaredResultType(SFC->getDecl());
tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
  100     QualType Ty = TOR->getValueType().getLocalUnqualifiedType();
tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
  168     const std::vector<QualType> ArgTypes;
  169     const QualType RetType;
  174     static void assertTypeSuitableForSummary(QualType T) {
  185     QualType getArgType(ArgNoTy ArgNo) const {
  186       QualType T = (ArgNo == Ret) ? RetType : ArgTypes[ArgNo];
  210   static QualType getArgType(const FunctionSummaryTy &Summary, ArgNoTy ArgNo) {
  213   static QualType getArgType(const CallEvent &Call, ArgNoTy ArgNo) {
  217   static QualType getArgType(const CallExpr *CE, ArgNoTy ArgNo) {
  246   QualType T = getArgType(Summary, getArgNo());
  274   QualType T = getArgType(Summary, getArgNo());
  323   QualType CondT = SVB.getConditionType();
  324   QualType T = getArgType(Summary, getArgNo());
  330   QualType OtherT = getArgType(Call, OtherArg);
  415     QualType FormalT = ArgTypes[I];
  422     QualType ActualT = StdLibraryFunctionsChecker::getArgType(CE, I);
  484   QualType Irrelevant; // A placeholder, whenever we do not care about the type.
  485   QualType IntTy = ACtx.IntTy;
  486   QualType LongTy = ACtx.LongTy;
  487   QualType LongLongTy = ACtx.LongLongTy;
  488   QualType SizeTy = ACtx.getSizeType();
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
  158     QualType ExprRetType = Call.getResultType();
  177     QualType DeclRetType = MD->getReturnType();
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
  324 inline bool isPrimitiveType(const QualType &T) {
  330 inline bool isDereferencableType(const QualType &T) {
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
   80   const QualType BaseClassT;
   83   BaseClass(const QualType &T) : FieldNode(nullptr), BaseClassT(T) {
  303     QualType T = I->getType();
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp
   61   QualType CastBackType;
   64   NeedsCastLocField(const FieldRegion *FR, const QualType &T)
  132 static bool isVoidPointer(QualType T);
  176   QualType DynT = R->getLocationType();
  177   QualType PointeeT = DynT->getPointeeType();
  244   QualType DynT = R->getLocationType();
  275 static bool isVoidPointer(QualType T) {
tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  189     QualType QT = Arg->getType();
tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
  138   QualType Ty = SE->getType();
  156   QualType SizeTy = Ctx.getSizeType();
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
  172     QualType Ty = Cast->getType();
tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
   31 void CompoundValData::Profile(llvm::FoldingSetNodeID& ID, QualType T,
  120 const llvm::APSInt& BasicValueFactory::getValue(uint64_t X, QualType T) {
  125 BasicValueFactory::getCompoundValData(QualType T,
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  481 static bool isPointerToConst(QualType Ty) {
  515     QualType FT = I->getType();
  531     QualType PT = FT->getPointeeType();
  593     QualType T = PVD->getType();
  599       QualType PT = T->getPointeeType();
 2372     QualType OriginalTy = OriginalExpr->getType();
 2628   QualType Ty = CondVarExpr->getType();
 2789     QualType T = ParamDecl->getType();
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
   69 QualType CallEvent::getResultType() const {
   76   QualType ResultTy = E->getType();
   96 static bool isCallback(QualType T) {
  112       QualType FieldT = I->getType();
  120 static bool isVoidPointerToNonConst(QualType T) {
  122     QualType PointeeTy = PT->getPointeeType();
  130 bool CallEvent::hasNonNullArgumentsWithType(bool (*Condition)(QualType)) const {
  261 static bool isPointerToConst(QualType Ty) {
  262   QualType PointeeTy = Ty->getPointeeType();
  462 QualType CallEvent::getDeclaredResultType(const Decl *D) {
  478       QualType Ty = TSI->getType();
  695     QualType T = Ex->getType();
  745   QualType RegionType = DynType.getType()->getPointeeType();
  806       QualType Ty = Ctx.getPointerType(Ctx.getRecordType(Class));
  817         QualType StaticTy = Ctx.getPointerType(Ctx.getRecordType(StaticClass));
 1198     QualType SupersType = E->getSuperType();
 1218       QualType DynType = DTI.getType();
tools/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
  101 Nullability getNullabilityAnnotation(QualType Type) {
tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
   34   QualType Ty = Sym->getType();
tools/clang/lib/StaticAnalyzer/Core/DynamicType.cpp
   66                                           QualType CastFromTy,
   67                                           QualType CastToTy) {
   87                                    QualType NewTy, bool CanBeSubClassed) {
   93                                           QualType CastFromTy,
   94                                           QualType CastToTy,
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  248       QualType T = PD->getType();
  954   QualType varType = varDecl->getType();
  991   QualType DTy = DE->getDestroyedType();
  997     QualType BTy = getContext().getBaseElementType(DTy);
 1035   QualType BaseTy = Base->getType();
 1047   QualType T = Member->getType();
 1103   QualType T = D.getBindTemporaryExpr()->getSubExpr()->getType();
 1467       QualType resultType = Ex->getType();
 2003     QualType T = CE->getType();
 2018   QualType T = Ex->getType();
 2435     Optional<std::pair<SVal, QualType>> VInfo;
 2535       QualType T = A->getType();
 2846                           QualType LoadTy) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
   31   QualType Ty = Expression->getType();
  144       QualType CTy =
  148       QualType CLHSTy =
  152       QualType LTy = getContext().getCanonicalType(LHS->getType());
  261     QualType T, QualType ExTy, const CastExpr* CastE, StmtNodeBuilder& Bldr,
  261     QualType T, QualType ExTy, const CastExpr* CastE, StmtNodeBuilder& Bldr,
  289   QualType resultType = CastE->getType();
  319   QualType T = CastE->getType();
  320   QualType ExTy = Ex->getType();
  451         QualType resultType = CastE->getType();
  490         QualType resultType = CastE->getType();
  614           QualType Ty = InitEx->getType();
  739   QualType T = getContext().getCanonicalType(IE->getType());
  875   QualType T = Ex->getTypeOfArgument();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
   99                                        QualType &Ty, bool &IsArray) {
  129       QualType Ty = Var->getType();
  156       QualType Ty = Field->getType();
  224         QualType ReturnTy = RetE->getType();
  225         QualType RegionTy = ACtx.getPointerType(ReturnTy);
  601 void ExprEngine::VisitCXXDestructor(QualType ObjectType,
  717       QualType Ty = FD->getType();
  792       QualType Ty = FD->getType();
  808       QualType ObjTy = CNE->getType()->getPointeeType();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  125 static SVal adjustReturnValue(SVal V, QualType ExpectedTy, QualType ActualTy,
  125 static SVal adjustReturnValue(SVal V, QualType ExpectedTy, QualType ActualTy,
  234         QualType ReturnedTy =
  626   QualType ResultTy = Call.getResultType();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
   66         QualType T = R->getValueType();
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  168   QualType T = getDesugaredValueType(Ctx);
  176   QualType sizeTy = svalBuilder.getArrayIndexType();
  190     QualType T = getDesugaredValueType(svalBuilder.getContext());
  219 QualType ObjCIvarRegion::getValueType() const {
  223 QualType CXXBaseObjectRegion::getValueType() const {
  227 QualType CXXDerivedObjectRegion::getValueType() const {
  335                                   QualType ElementType, SVal Idx,
  863       QualType GQT = D->getType();
  907           QualType T;
  989 MemRegionManager::getElementRegion(QualType elementType, NonLoc Idx,
  992   QualType T = Ctx.getCanonicalType(elementType).getUnqualifiedType();
 1100 MemRegionManager::getCXXThisRegion(QualType thisPointerTy,
 1248         QualType elemType = ER->getElementType();
 1345       QualType Ty;
 1402       QualType EleTy = ER->getValueType();
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  253     QualType T = TR->getValueType();
  261 SVal ProgramState::getSVal(Loc location, QualType T) const {
  319                                       QualType indexTy) const {
tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
  456   QualType T = SIE->getType();
  500   QualType T = Sym->getType();
  525       QualType T = Sym->getType();
tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
   56       QualType DiffTy = SymMgr.getContext().getPointerDiffType();
  105   QualType T = Sym->getType();
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
  394                                             const MemRegion *R, QualType T);
  402   SVal ArrayToPointer(Loc Array, QualType ElementTy) override;
  549   SVal getBinding(Store S, Loc L, QualType T) override {
  561   SVal getBinding(RegionBindingsConstRef B, Loc L, QualType T = QualType());
  575                                          QualType Ty);
  597                                                   QualType Ty);
  631                                          QualType EleTy) override;
 1160   QualType T = TR->getValueType();
 1193       QualType ElementTy = AT->getElementType();
 1396                                       QualType EleTy) {
 1430 SVal RegionStoreManager::ArrayToPointer(Loc Array, QualType T) {
 1447 SVal RegionStoreManager::getBinding(RegionBindingsConstRef B, Loc L, QualType T) {
 1487   QualType RTy = R->getValueType();
 1573 static QualType getUnderlyingType(const SubRegion *R) {
 1574   QualType RegionTy;
 1604   QualType RegionTy = getUnderlyingType(R);
 1607     QualType SourceRegionTy = LCV->getRegion()->getValueType();
 1684     QualType T = Ctx.getAsArrayType(StrR->getValueType())->getElementType();
 1756     QualType baseT = baseR->getValueType();
 1758       QualType elemT = R->getElementType();
 1787   QualType Ty = FD->getType();
 1797     QualType RecordVarTy = VD->getType();
 1823                                                      QualType Ty) {
 1880                                                       QualType Ty) {
 2019     QualType T = VD->getType();
 2175     QualType Ty = TR->getValueType();
 2189     QualType T = SR->getSymbol()->getType();
 2207                                             QualType T) {
 2237   QualType ElementTy = AT->getElementType();
 2293   QualType T = R->getValueType();
 2307   QualType ElemType = VT->getElementType();
 2350     QualType Ty = FD->getType();
 2376   QualType T = R->getValueType();
 2442       QualType BTy = B.getType();
 2468     QualType FTy = FI->getType();
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
   52 DefinedOrUnknownSVal SValBuilder::makeZeroVal(QualType type) {
   68                                 const llvm::APSInt& rhs, QualType type) {
   79                                QualType type) {
   86                                const SymExpr *rhs, QualType type) {
   93                                QualType fromTy, QualType toTy) {
   93                                QualType fromTy, QualType toTy) {
  119   QualType T = region->getValueType();
  139   QualType T = Ex->getType();
  146   QualType ExType = Ex->getType();
  156                                                    QualType type,
  174                                                    QualType type,
  194   QualType T = E->getType();
  206                                               const Expr *expr, QualType type,
  223   QualType T = region->getValueType();
  281   QualType PT = getContext().getPointerType(QualType(T, 0));
  379                                    QualType ResultTy) {
  405                             SVal lhs, SVal rhs, QualType type) {
  456 static bool shouldBeModeledWithNoOp(ASTContext &Context, QualType ToTy,
  457                                                          QualType FromTy) {
  490                                    QualType castTy, QualType originalTy) {
  490                                    QualType castTy, QualType originalTy) {
  511   QualType CmpTy = getConditionType();
  525 SVal SValBuilder::evalCast(SVal val, QualType castTy, QualType originalTy) {
  525 SVal SValBuilder::evalCast(SVal val, QualType castTy, QualType originalTy) {
  587     QualType elemTy = arrayT->getElementType();
tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
   31     QualType T;
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
   26   SVal dispatchCast(SVal val, QualType castTy) override;
   27   SVal evalCastFromNonLoc(NonLoc val, QualType castTy) override;
   28   SVal evalCastFromLoc(Loc val, QualType castTy) override;
   39                    NonLoc lhs, NonLoc rhs, QualType resultTy) override;
   41                    Loc lhs, Loc rhs, QualType resultTy) override;
   43                    Loc lhs, NonLoc rhs, QualType resultTy) override;
   54                      const llvm::APSInt &RHS, QualType resultTy);
   68 SVal SimpleSValBuilder::dispatchCast(SVal Val, QualType CastTy) {
   74 SVal SimpleSValBuilder::evalCastFromNonLoc(NonLoc val, QualType castTy) {
   90     QualType T = Context.getCanonicalType(se->getType());
  130 SVal SimpleSValBuilder::evalCastFromLoc(Loc val, QualType castTy) {
  220                                     QualType resultTy) {
  292     QualType SymbolType = LHS->getType();
  335   QualType T = Sym->getType();
  379   QualType SymTy = LSym->getType();
  387   QualType ResultTy;
  439                             SymbolRef Sym, llvm::APSInt Int, QualType Ty) {
  448                                      NonLoc Rhs, QualType ResultTy) {
  453   QualType SingleTy;
  507                                   QualType resultTy)  {
  777                                             QualType resultTy,
  824                                   QualType resultTy) {
  948           QualType boolType = getContext().BoolTy;
 1105                                   Loc lhs, NonLoc rhs, QualType resultTy) {
 1149       QualType pointeeType = resultTy->getPointeeType();
 1175     QualType elementType;
tools/clang/lib/StaticAnalyzer/Core/Store.cpp
   61                                                      QualType EleTy,
   68                                                         QualType T) {
   74 const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy) {
   96   QualType PointeeTy = CastToTy->getPointeeType();
   97   QualType CanonPointeeTy = Ctx.getCanonicalType(PointeeTy);
  106       QualType ObjTy = Ctx.getCanonicalType(TR->getValueType());
  179           QualType ObjTy = Ctx.getCanonicalType(TR->getValueType());
  180           QualType CanonPointeeTy = Ctx.getCanonicalType(PointeeTy);
  228 static bool regionMatchesCXXRecordType(SVal V, QualType Ty) {
  273 SVal StoreManager::evalDerivedToBase(SVal Derived, QualType BaseType,
  314 SVal StoreManager::attemptDownCast(SVal Base, QualType TargetType,
  383     QualType T = SR->getSymbol()->getType();
  400                                     QualType castTy) {
  477 SVal StoreManager::getLValueElement(QualType elementType, NonLoc Offset,
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  185                                                    QualType T,
  236 SymbolManager::getMetadataSymbol(const MemRegion* R, const Stmt *S, QualType T,
  255                              QualType From, QualType To) {
  255                              QualType From, QualType To) {
  272                                                QualType t) {
  290                                                QualType t) {
  308                                                QualType t) {
  323 QualType SymbolConjured::getType() const {
  327 QualType SymbolDerived::getType() const {
  331 QualType SymbolExtent::getType() const {
  336 QualType SymbolMetadata::getType() const {
  340 QualType SymbolRegionValue::getType() const {
  348 bool SymbolManager::canSymbolicate(QualType T) {
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  728         QualType ClassTy =
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  249   bool TraverseType(QualType T) { return true; }
tools/clang/lib/Tooling/Refactoring/Extract/Extract.cpp
  116   QualType ReturnType = AST.VoidTy;
tools/clang/lib/Tooling/Transformer/RewriteRule.cpp
   81   return !M.canConvertTo<QualType>();
tools/clang/tools/extra/clang-doc/Serialize.cpp
  217 static RecordDecl *getDeclForType(const QualType &T) {
tools/clang/tools/extra/clang-include-fixer/IncludeFixer.cpp
  150     clang::SourceLocation Loc, clang::QualType T) {
tools/clang/tools/extra/clang-include-fixer/IncludeFixer.h
  100                                         clang::QualType T) override;
tools/clang/tools/extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
  503       builder << QualType::getFromOpaquePtr((void *)Info.getRawArg(Index));
tools/clang/tools/extra/clang-tidy/boost/UseToStringCheck.cpp
   45   auto CharType =
tools/clang/tools/extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
   76       QualType Desugared = Tsi->getType().getDesugaredType(*Result.Context);
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
   87     QualType T = Uop->getType();
  200   QualType CastType = Cast->getType();
  201   QualType CalcType = Calc->getType();
tools/clang/tools/extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
   50   CharExpressionDetector(QualType CharType, const ASTContext &Ctx)
  128   const QualType CharType;
  135   const auto CharType =
  136       Result.Nodes.getNodeAs<QualType>("type")->getCanonicalType();
tools/clang/tools/extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
  100                                   const QualType &IntExprType) {
  112                                             const QualType &UpperBoundType) {
  119     QualType RHSEType = RHSE->getType();
  120     QualType LHSEType = LHSE->getType();
  158   QualType LoopVarType = LoopVar->getType();
  159   QualType UpperBoundType = UpperBound->getType();
tools/clang/tools/extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.cpp
   51     QualType DestType = Call->getArg(0)->IgnoreImplicit()->getType();
   59     QualType SourceType = Call->getArg(1)->IgnoreImplicit()->getType();
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
   42   QualType BaseReturnTy = BaseMD->getType()
   46   QualType DerivedReturnTy = DerivedMD->getType()
   68   QualType DTy = DerivedReturnTy->getPointeeType().getCanonicalType();
   69   QualType BTy = BaseReturnTy->getPointeeType().getCanonicalType();
  124 static QualType getDecayedType(QualType Type) {
  124 static QualType getDecayedType(QualType Type) {
tools/clang/tools/extra/clang-tidy/cert/PostfixOperatorCheck.cpp
   47   QualType ReturnType = FuncDecl->getReturnType();
   59     QualType ReplaceType =
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
   70   QualType TypePtr = MatchedDecl->getType();
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
   68 static QualType getUnqualifiedType(const Expr &E) {
  293   QualType DestType = Lhs.getType();
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
   20 static bool needsConstCast(QualType SourceType, QualType DestType) {
   20 static bool needsConstCast(QualType SourceType, QualType DestType) {
   53   QualType SourceType = MatchedCast->getSubExpr()->getType();
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
  165 const RecordDecl *getCanonicalRecordDecl(const QualType &Type) {
  322 static bool isIncompleteOrZeroLengthArrayType(ASTContext &Context, QualType T) {
  336 static bool isEmpty(ASTContext &Context, const QualType &Type) {
  343 static const char *getInitializer(QualType QT, bool UseAssignment) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.cpp
   34   QualType SourceType = MatchedCast->getSubExpr()->getType();
tools/clang/tools/extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
   36 static bool needsConstCast(QualType SourceType, QualType DestType) {
   36 static bool needsConstCast(QualType SourceType, QualType DestType) {
   49 static bool pointedUnqualifiedTypesAreEqual(QualType T1, QualType T2) {
   49 static bool pointedUnqualifiedTypesAreEqual(QualType T1, QualType T2) {
   76   const QualType DestTypeAsWritten =
   78   const QualType SourceTypeAsWritten =
   80   const QualType SourceType = SourceTypeAsWritten.getCanonicalType();
   81   const QualType DestType = DestTypeAsWritten.getCanonicalType();
  188       QualType Dest = DestType.getNonReferenceType();
  189       QualType Source = SourceType.getNonReferenceType();
tools/clang/tools/extra/clang-tidy/google/ExplicitConstructorCheck.cpp
   73 static bool isStdInitializerList(QualType Type) {
tools/clang/tools/extra/clang-tidy/google/NonConstReferences.cpp
   71   auto ReferencedType = *Result.Nodes.getNodeAs<QualType>("referenced_type");
   71   auto ReferencedType = *Result.Nodes.getNodeAs<QualType>("referenced_type");
tools/clang/tools/extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
   80 static std::size_t getNumberOfPossibleValues(QualType T,
tools/clang/tools/extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
   36   const auto *VarType = Result.Nodes.getNodeAs<QualType>("varType");
   36   const auto *VarType = Result.Nodes.getNodeAs<QualType>("varType");
tools/clang/tools/extra/clang-tidy/misc/MisplacedConstCheck.cpp
   31 static QualType guessAlternateQualification(ASTContext &Context, QualType QT) {
   31 static QualType guessAlternateQualification(ASTContext &Context, QualType QT) {
   41   QualType NewQT = Context.getPointerType(
   50   QualType CanQT = Var->getType().getCanonicalType();
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
  461 static bool isNonConstReferenceType(QualType ParamType) {
tools/clang/tools/extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
   74   auto qualType = subExpr->getType();
  138   auto caughtType = catchStmt->getCaughtType();
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertCheck.cpp
  438     QualType CType = VDec->getType();
  537     QualType AliasVarType = AliasVar->getType();
  617   QualType Type = Context->getAutoDeductType();
  693     QualType Type = U.Expression->getType().getCanonicalType();
  712   QualType CanonicalInitVarType = InitVar->getType().getCanonicalType();
  713   const auto *DerefByValueType =
  714       Nodes.getNodeAs<QualType>(DerefByValueResultName);
  723     if (const auto *DerefType =
  724             Nodes.getNodeAs<QualType>(DerefByRefResultName)) {
  728       auto ValueType = DerefType->getNonReferenceType();
  783     QualType InitVarType = InitVar->getType();
  784     QualType CanonicalInitVarType = InitVarType.getCanonicalType();
  788     QualType CanonicalBeginType =
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertCheck.h
   33     QualType ElemType;
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp
  136   QualType QType = TL.getType();
  369     QualType InitType = Init->getType();
  370     QualType DeclarationType = VDecl->getType();
  433                                   const QualType &ArrayType,
  543   QualType ExprType;
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
  119   const auto *Type = Result.Nodes.getNodeAs<QualType>(PointerType);
  119   const auto *Type = Result.Nodes.getNodeAs<QualType>(PointerType);
  145                                        const QualType *Type,
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.h
   35   using SmartPtrTypeMatcher = ast_matchers::internal::BindableMatcher<QualType>;
   56                       const CXXConstructExpr *Construct, const QualType *Type,
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
   22 bool protoTypeHasNoParms(QualType QT) {
tools/clang/tools/extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
   57   const QualType ReturnType =
   59   const QualType ConstructType =
tools/clang/tools/extra/clang-tidy/modernize/UseAutoCheck.cpp
  100   QualType QT = Node;
  105     QualType NewQT = QT.getSingleStepDesugaredType(Finder->getASTContext());
  388     llvm::function_ref<QualType(const Expr *)> GetType, StringRef Message) {
  394   const QualType FirstDeclType = FirstDecl->getType().getCanonicalType();
tools/clang/tools/extra/clang-tidy/modernize/UseAutoCheck.h
   28                    llvm::function_ref<QualType(const Expr *)> GetType,
tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
   20 static StringRef getValueOfValueInit(const QualType InitType) {
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
  249 static bool hasAnyNestedLocalQualifiers(QualType Type) {
tools/clang/tools/extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
  107     QualType ParentArgType = Arg.getAsType();
tools/clang/tools/extra/clang-tidy/mpi/TypeMismatchCheck.cpp
  235   const QualType QT = CE->getArg(idx)->IgnoreImpCasts()->getType();
tools/clang/tools/extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
   90   QualType ConstType = OperatorCall->getType().withConst();
   91   QualType ConstRefType = Context->getLValueReferenceType(ConstType);
tools/clang/tools/extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
   20 static bool areTypesCompatible(QualType Left, QualType Right) {
   20 static bool areTypesCompatible(QualType Left, QualType Right) {
   84   QualType ValueType = AlgCall->getArg(2)->getType();
   85   QualType KeyType =
   92     const QualType AlgCmp =
   96     const QualType ContainerCmp = IneffCont->getTemplateArgs()[CmpPosition]
tools/clang/tools/extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
   53   QualType QT = Initializer->getInit()->getType();
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
  117       auto CanonicalType = Param->getType().getCanonicalType();
tools/clang/tools/extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
   30     QualType Type = Parm->getType();
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  467     QualType Type = Decl->getType();
  493     QualType Type = Decl->getType();
  522     QualType Type = Decl->getType();
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
   43                                              QualType Type,
  199                                       QualType DestType, ASTContext &Context) {
  378   QualType DestType =
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp
   93     const QualType T = VD->getType();
  102   const QualType T = Parm->getType();
  162     const QualType T = Cast->getType();
  178       const QualType T = B->getLHS()->getType();
tools/clang/tools/extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
   19 static unsigned getNameSpecifierNestingLevel(const QualType &QType) {
   62   QualType BaseType =
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.cpp
  128     for (const QualType Ex : FPT->exceptions())
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.cpp
   21 bool classHasTrivialCopyAndDestroy(QualType Type) {
   28 bool hasDeletedCopyConstructor(QualType Type) {
   41 llvm::Optional<bool> isExpensiveToCopy(QualType Type,
   92 bool isTriviallyDefaultConstructible(QualType Type, const ASTContext &Context) {
  122   QualType CanonicalType = Type.getCanonicalType();
  138 bool hasNonTrivialMoveConstructor(QualType Type) {
  144 bool hasNonTrivialMoveAssignment(QualType Type) {
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.h
   21 llvm::Optional<bool> isExpensiveToCopy(QualType Type,
   25 bool isTriviallyDefaultConstructible(QualType Type, const ASTContext &Context);
   32 bool hasNonTrivialMoveConstructor(QualType Type);
   35 bool hasNonTrivialMoveAssignment(QualType Type);
tools/clang/tools/extra/clangd/AST.cpp
  238 std::string printType(const QualType QT, const DeclContext & Context){
tools/clang/tools/extra/clangd/AST.h
   78 std::string printType(const QualType QT, const DeclContext & Context);
tools/clang/tools/extra/clangd/ExpectedTypes.cpp
   22 static const Type *toEquivClass(ASTContext &Ctx, QualType T) {
   44 static llvm::Optional<QualType>
   55   auto T = VD->getType();
   69 llvm::Optional<OpaqueType> OpaqueType::encode(ASTContext &Ctx, QualType T) {
   84                                                 QualType Type) {
tools/clang/tools/extra/clangd/ExpectedTypes.h
   41   static llvm::Optional<OpaqueType> fromType(ASTContext &Ctx, QualType Type);
   57   static llvm::Optional<OpaqueType> encode(ASTContext &Ctx, QualType Type);
tools/clang/tools/extra/clangd/FindTarget.cpp
  120   template <typename T> void debug(T &Node, RelSet Flags) {
  232   void add(QualType T, RelSet Flags) {
  357   else if (const QualType *QT = N.get<QualType>())
  357   else if (const QualType *QT = N.get<QualType>())
tools/clang/tools/extra/clangd/IncludeFixer.cpp
   79         auto QT = QualType::getFromOpaquePtr((void *)Info.getRawArg(Idx));
   79         auto QT = QualType::getFromOpaquePtr((void *)Info.getRawArg(Idx));
tools/clang/tools/extra/clangd/Selection.cpp
  241   bool TraverseType(QualType) { return true; }
tools/clang/tools/extra/clangd/XRefs.cpp
  573     auto QT = VD->getType();
  712 static HoverInfo getHoverContents(QualType T, const Decl *D, ASTContext &ASTCtx,
  850   QualType DeducedType;
  857 llvm::Optional<QualType> getDeducedType(ParsedAST &AST,
tools/clang/tools/extra/clangd/XRefs.h
  154 llvm::Optional<QualType> getDeducedType(ParsedAST &AST,
tools/clang/tools/extra/clangd/refactor/tweaks/ExpandAutoType.cpp
   76   llvm::Optional<clang::QualType> DeducedType =
tools/clang/tools/extra/clangd/refactor/tweaks/ExtractFunction.cpp
  277     QualType TypeInfo;
  551     QualType TypeInfo = VD->getType().getNonReferenceType();
tools/clang/tools/extra/clangd/unittests/ExpectedTypeTest.cpp
   37   QualType typeOf(llvm::StringRef Name) {
tools/clang/tools/extra/modularize/Modularize.cpp
  552   bool TraverseType(QualType T) { return true; }
  743   bool TraverseType(QualType T) { return true; }
tools/clang/tools/libclang/CIndex.cpp
  791   const QualType Ty = ND->getType();
 1514   QualType VisitType;
 1885     QualType T = QualType::getFromOpaquePtr(data[0]);
 1885     QualType T = QualType::getFromOpaquePtr(data[0]);
 3651   Ctx.getObjCEncodingForType(QualType::getFromOpaquePtr(CT.data[0]),
 3808   QualType rettype;
tools/clang/tools/libclang/CIndexCodeCompletion.cpp
  611       QualType baseType = Context.getBaseType();
tools/clang/tools/libclang/CXCursor.cpp
 1129   QualType Ty = Type->getType();
 1621       auto receiverTy = ME->getBase()->IgnoreImpCasts()->getType();
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  316     QualType Ty = IBAttr->getInterface();
  344     QualType T = Base.getType();
tools/clang/tools/libclang/CXType.cpp
   84 static CXTypeKind GetTypeKind(QualType T) {
  125 CXType cxtype::MakeCXType(QualType T, CXTranslationUnit TU) {
  144       QualType UnqualT = T.getUnqualifiedType();
  168 static inline QualType GetQualType(CXType CT) {
  169   return QualType::getFromOpaquePtr(CT.data[0]);
  177 GetTemplateArguments(QualType Type) {
  192 static Optional<QualType> TemplateArgumentToQualType(const TemplateArgument &A) {
  198 static Optional<QualType>
  224     QualType T = cxcursor::getCursorExpr(C)->getType();
  251       QualType T
  257       QualType T = Context.getObjCInterfaceType(getCursorObjCClassRef(C).first);
  262       QualType T = Context.getTypeDeclType(getCursorTypeRef(C).first);
  291   QualType T = GetQualType(CT);
  313       QualType T = TD->getUnderlyingType();
  331       QualType T = TD->getIntegerType();
  392   QualType T = GetQualType(CT);
  404   QualType T = GetQualType(CT);
  409   QualType T = GetQualType(CT);
  414   QualType T = GetQualType(CT);
  419   QualType T = GetQualType(CT);
  432   QualType T = GetQualType(CT);
  443   QualType T = GetQualType(CT);
  484   QualType T = GetQualType(CT);
  629   QualType T = GetQualType(X);
  643   QualType T = GetQualType(X);
  677   QualType T = GetQualType(X);
  693   QualType T = GetQualType(X);
  709   QualType T = GetQualType(X);
  762   QualType T = GetQualType(X);
  780   QualType T = GetQualType(X);
  790   QualType ET = QualType();
  791   QualType T = GetQualType(CT);
  826   QualType T = GetQualType(CT);
  848   QualType ET = QualType();
  849   QualType T = GetQualType(CT);
  875   QualType T = GetQualType(CT);
  890 static bool isIncompleteTypeWithAlignment(QualType QT) {
  898   QualType QT = GetQualType(T);
  918   QualType ET = QualType();
  919   QualType T = GetQualType(CT);
  932   QualType QT = GetQualType(T);
  959 static bool isTypeIncompleteForLayout(QualType QT) {
  965     QualType FQT = I->getType();
  997   QualType RT = GetQualType(PT);
 1041   QualType T = GetQualType(CT);
 1071   QualType QT = GetQualType(T);
 1112     QualType Ty;
 1133   QualType T = GetQualType(CT);
 1145   QualType T = GetQualType(CT);
 1153   Optional<QualType> QT = FindTemplateArgumentTypeAt(TA.getValue(), index);
 1158   QualType T = GetQualType(CT);
 1170   QualType T = GetQualType(CT);
 1182   QualType T = GetQualType(CT);
 1198   QualType T = GetQualType(CT);
 1210   QualType T = GetQualType(CT);
 1218   const ArrayRef<QualType> TA = OT->getTypeArgs();
 1285   QualType T = GetQualType(CT);
 1295   QualType T = GetQualType(TT);
 1304   QualType T = GetQualType(CT);
tools/clang/tools/libclang/CXType.h
   25 CXType MakeCXType(QualType T, CXTranslationUnit TU);
tools/clang/unittests/AST/ASTImporterFixtures.cpp
   97 QualType ASTImporterTestBase::TU::import(
   99     QualType FromType) {
  212 QualType ASTImporterTestBase::ImportType(QualType FromType, Decl *TUDecl,
  212 QualType ASTImporterTestBase::ImportType(QualType FromType, Decl *TUDecl,
tools/clang/unittests/AST/ASTImporterFixtures.h
  125     QualType import(const std::shared_ptr<ASTImporterSharedState> &SharedState,
  126                     ASTUnit *ToAST, QualType FromType);
  182   QualType ImportType(QualType FromType, Decl *TUDecl, Language ToLang);
  182   QualType ImportType(QualType FromType, Decl *TUDecl, Language ToLang);
tools/clang/unittests/AST/ASTImporterTest.cpp
  965   auto ToType =
 3947   QualType FT = Friend->getFriendType()->getType();
 4479   QualType Ty = FD->getFriendType()->getType().getCanonicalType();
 5422     QualType ToType = ToTypedef->getUnderlyingType();
 5426     QualType FromType = FromTypedef->getUnderlyingType();
 5428     QualType ImportedType = ImportType(FromType, FromTypedef, Lang_CXX);
tools/clang/unittests/AST/ASTTraverserTest.cpp
   34   void Visit(QualType QT) {
   63   template <typename... T> void Visit(T...) {}
   75 template <typename... NodeType> std::string dumpASTString(NodeType &&... N) {
   83   Dumper.Visit(std::forward<NodeType &&>(N)...);
   97   static void withDynNode(T Node, const std::string &DumpString) {
  111 void verifyWithDynNode(T Node, const std::string &DumpString) {
  114   Verifier<T>::withDynNode(Node, DumpString);
  166   QualType QT = Func->getType();
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp
   25   return ASTNodeKind::getFromNodeKind<T>();
  176   QualType Q;
tools/clang/unittests/AST/DataCollectionTest.cpp
   32   template <class T> void addData(const T &Data) {
tools/clang/unittests/ASTMatchers/ASTMatchersTest.h
  421     if (Nodes->getNodeAs<T>(Id)) {
tools/clang/unittests/CodeGen/CodeGenExternalTest.cpp
  192         QualType qType = clangTy->getCanonicalTypeInternal();
tools/clang/unittests/Sema/ExternalSemaSourceTest.cpp
   32   bool MaybeDiagnoseMissingCompleteType(SourceLocation L, QualType T) override {
tools/clang/unittests/Tooling/TransformerTest.cpp
   46 static ast_matchers::internal::Matcher<clang::QualType>
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  176   static clang::DeclContext *GetDeclContextForType(clang::QualType type);
  226                 this, clang::QualType(record_decl->getTypeForDecl(), 0)
  331   bool SetTagTypeKind(clang::QualType type, int kind) const;
  750   static uint32_t GetNumPointeeChildren(clang::QualType type);
  952                                             clang::QualType type);
  957   static clang::QualType GetQualType(lldb::opaque_compiler_type_t type) {
  959       return clang::QualType::getFromOpaquePtr(type);
  963   static clang::QualType
  966       return clang::QualType::getFromOpaquePtr(type).getCanonicalType();
tools/lldb/include/lldb/Symbol/ClangASTImporter.h
  102   clang::QualType CopyType(clang::ASTContext *dst_ctx,
  103                            clang::ASTContext *src_ctx, clang::QualType type);
  146   bool CompleteAndFetchChildren(clang::QualType type);
  148   bool RequireCompleteType(clang::QualType type);
tools/lldb/include/lldb/Symbol/ClangUtil.h
   26   static clang::QualType GetQualType(const CompilerType &ct);
   28   static clang::QualType GetCanonicalQualType(const CompilerType &ct);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp
   66 ASTDumper::ASTDumper(clang::QualType type) { m_dump = type.getAsString(); }
   69   m_dump = clang::QualType::getFromOpaquePtr(type).getAsString();
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.h
   25   ASTDumper(clang::QualType type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
  299   QualType expr_qual_type = last_expr->getType();
  331     QualType ptr_qual_type;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
  569                                         clang::QualType T) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  505       QualType::getFromOpaquePtr(complete_opaque_type).getTypePtr();
  646         QualType copied_field_type = copied_field->getType();
 1840         QualType base_type = bi->getType();
 1987 clang::QualType ClangASTSource::CopyTypeWithMerger(
 1990     clang::QualType type) {
 1996   if (llvm::Expected<QualType> type_or_error =
 2061   QualType copied_qual_type;
 2128   QualType qual_type(ClangUtil::GetQualType(type));
 2170       QualType arg_qual_type(func_proto_type->getParamType(ArgIndex));
 2207   QualType generic_function_type(m_ast_source.m_ast_context->getFunctionType(
 2221     QualType qual_type = ClangUtil::GetQualType(clang_type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
  376 	clang::QualType CopyTypeWithMerger(clang::ASTContext &src_context,
  378                                      clang::QualType type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
  183 static clang::QualType ExportAllDeclaredTypes(
  187     clang::FileID file, clang::QualType root) {
  197   llvm::Expected<clang::QualType> ret_or_error = exporter.Import(root);
  226     clang::QualType exported_type = ExportAllDeclaredTypes(
  230         clang::QualType::getFromOpaquePtr(parser_type.GetOpaqueQualType()));
  892         QualType class_qual_type(class_decl->getTypeForDecl(), 0);
  909           QualType class_pointer_type =
 1026           QualType class_pointer_type =
 1037           QualType class_type = method_decl->getASTContext().getObjCClassType();
 1627   clang::QualType parser_opaque_type =
 1628       QualType::getFromOpaquePtr(pt.GetOpaqueQualType());
 1803       QualType var_type = var_decl->getType();
 2135       QualType::getFromOpaquePtr(copied_clang_type.GetOpaqueQualType()));
tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
  274     clang::QualType pointer_qual_type = result_var->getType();
  283       clang::QualType element_qual_type = pointer_pointertype->getPointeeType();
  290       clang::QualType element_qual_type =
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
  369     clang::QualType ret_type =
  387       clang::QualType arg_type =
  590           clang::QualType result_iface_type =
  643       clang::QualType new_iface_type =
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
   80 clang::QualType AppleObjCTypeEncodingParser::BuildStruct(
   86 clang::QualType AppleObjCTypeEncodingParser::BuildUnion(
   92 clang::QualType AppleObjCTypeEncodingParser::BuildAggregate(
  154 clang::QualType AppleObjCTypeEncodingParser::BuildArray(
  159   clang::QualType element_type(BuildType(ast_ctx, type, for_expression));
  177 clang::QualType AppleObjCTypeEncodingParser::BuildObjCObjectPointerType(
  259 clang::QualType
  334     clang::QualType target_type = BuildType(ast_ctx, type, for_expression);
  351       clang::QualType target_type = BuildType(ast_ctx, type, for_expression);
  369     clang::QualType qual_type = BuildType(ast_ctx, lexer, for_expression);
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h
   31     clang::QualType type;
   38   clang::QualType BuildType(clang::ASTContext &ast_ctx, StringLexer &type,
   42   clang::QualType BuildStruct(clang::ASTContext &ast_ctx, StringLexer &type,
   45   clang::QualType BuildAggregate(clang::ASTContext &ast_ctx, StringLexer &type,
   49   clang::QualType BuildUnion(clang::ASTContext &ast_ctx, StringLexer &type,
   52   clang::QualType BuildArray(clang::ASTContext &ast_ctx, StringLexer &type,
   60   clang::QualType BuildObjCObjectPointerType(clang::ASTContext &ast_ctx,
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  221   auto qual_type = ClangUtil::GetQualType(type);
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  265   clang::QualType parent_qt = GetOrCreateType(parent_iter->second);
  471     clang::QualType qt = GetOrCreateType(uid.asTypeSym());
  517     clang::QualType qt = GetOrCreateType(types.back());
  558       clang::QualType qt = GetOrCreateType(matches.back());
  636 bool PdbAstBuilder::CompleteType(clang::QualType qt) {
  658   clang::QualType tag_qt = m_clang.getASTContext()->getTypeDeclType(&tag);
  697 clang::QualType PdbAstBuilder::CreateSimpleType(TypeIndex ti) {
  702     clang::QualType direct_type = GetOrCreateType(ti.makeDirect());
  716 clang::QualType PdbAstBuilder::CreatePointerType(const PointerRecord &pointer) {
  717   clang::QualType pointee_type = GetOrCreateType(pointer.ReferentType);
  726     clang::QualType class_type = GetOrCreateType(mpi.ContainingType);
  732   clang::QualType pointer_type;
  754 clang::QualType
  756   clang::QualType unmodified_type = GetOrCreateType(modifier.ModifiedType);
  768 clang::QualType PdbAstBuilder::CreateRecordType(PdbTypeSymId id,
  792   clang::QualType result =
  793       clang::QualType::getFromOpaquePtr(ct.GetOpaqueQualType());
  834   clang::QualType qt = GetOrCreateType(var_info.type);
  880   clang::QualType qt = GetOrCreateType(real_type_id);
  894 clang::QualType PdbAstBuilder::GetBasicType(lldb::BasicType type) {
  896   return clang::QualType::getFromOpaquePtr(ct.GetOpaqueQualType());
  899 clang::QualType PdbAstBuilder::CreateType(PdbTypeSymId type) {
  950 clang::QualType PdbAstBuilder::GetOrCreateType(PdbTypeSymId type) {
  958   clang::QualType qt;
  962     clang::QualType qt = GetOrCreateType(best_type);
 1000   clang::QualType qt = GetOrCreateType(type_id);
 1082     clang::QualType qt = GetOrCreateType(param_type);
 1099 clang::QualType PdbAstBuilder::CreateEnumType(PdbTypeSymId id,
 1104   clang::QualType underlying_type = GetOrCreateType(er.UnderlyingType);
 1114   return clang::QualType::getFromOpaquePtr(enum_ct.GetOpaqueQualType());
 1117 clang::QualType PdbAstBuilder::CreateArrayType(const ArrayRecord &ar) {
 1118   clang::QualType element_type = GetOrCreateType(ar.ElementType);
 1125   return clang::QualType::getFromOpaquePtr(array_ct.GetOpaqueQualType());
 1128 clang::QualType PdbAstBuilder::CreateFunctionType(
 1146     clang::QualType arg_type = GetOrCreateType(arg_index);
 1150   clang::QualType return_type = GetOrCreateType(return_type_idx);
 1161   return clang::QualType::getFromOpaquePtr(
 1190       clang::QualType qt = GetOrCreateType(tid);
 1207       clang::QualType qt = GetOrCreateType(tid);
 1343 CompilerType PdbAstBuilder::ToCompilerType(clang::QualType qt) {
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
   71   clang::QualType GetBasicType(lldb::BasicType type);
   72   clang::QualType GetOrCreateType(PdbTypeSymId type);
   75   bool CompleteType(clang::QualType qt);
   78   CompilerType ToCompilerType(clang::QualType qt);
   93   clang::QualType
   95   clang::QualType
   97   clang::QualType CreateArrayType(const llvm::codeview::ArrayRecord &array);
   98   clang::QualType CreateRecordType(PdbTypeSymId id,
  100   clang::QualType CreateEnumType(PdbTypeSymId id,
  102   clang::QualType
  105   clang::QualType CreateType(PdbTypeSymId type);
  129   clang::QualType CreateSimpleType(TypeIndex ti);
  139   llvm::DenseMap<lldb::user_id_t, clang::QualType> m_uid_to_type;
tools/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
  713   clang::QualType qt = m_ast->GetOrCreateType(best_decl_id);
 1562   clang::QualType qt =
 1563       clang::QualType::getFromOpaquePtr(compiler_type.GetOpaqueQualType());
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
   52 clang::QualType UdtRecordCompleter::AddBaseClassForTypeIndex(
   56   clang::QualType qt = m_ast_builder.GetOrCreateType(type_id);
   75   clang::QualType method_qt =
   90   clang::QualType base_qt =
  122   clang::QualType member_type =
  162   clang::QualType member_qt = m_ast_builder.GetOrCreateType(PdbTypeSymId(ti));
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   70   clang::QualType AddBaseClassForTypeIndex(
tools/lldb/source/Symbol/ClangASTContext.cpp
  839                                           ASTContext *ast, QualType qual_type) {
 1257   QualType char_type(ast->CharTy);
 1296   QualType type1_qual = ClangUtil::GetQualType(type1);
 1297   QualType type2_qual = ClangUtil::GetQualType(type2);
 1936     clang::DeclContext *decl_context, const char *name, clang::QualType type) {
 2038   clang::QualType method_qual_type(ClangUtil::GetQualType(function_clang_type));
 2091   std::vector<QualType> qual_type_args;
 2148   QualType block_type = m_ast_up->getBlockPointerType(
 2149       clang::QualType::getFromOpaquePtr(function_type.GetOpaqueQualType()));
 2514 bool ClangASTContext::SetTagTypeKind(clang::QualType tag_qual_type,
 2556 ClangASTContext::GetDeclContextForType(clang::QualType type) {
 2560   clang::QualType qual_type = type.getCanonicalType();
 2595                                 clang::QualType qual_type,
 2751   clang::QualType qual_type(GetCanonicalQualType(type));
 2788   clang::QualType qual_type(GetCanonicalQualType(type));
 2828   clang::QualType qual_type(GetCanonicalQualType(type));
 2917   clang::QualType qual_type(GetCanonicalQualType(type));
 3013     clang::QualType qual_type(GetCanonicalQualType(type));
 3071   clang::QualType qual_type(GetCanonicalQualType(type));
 3094           clang::QualType base_qual_type;
 3098             clang::QualType field_qual_type = field_pos->getType();
 3168     clang::QualType qual_type(GetCanonicalQualType(type));
 3181     clang::QualType qual_type(GetQualType(type));
 3194     clang::QualType qual_type(GetCanonicalQualType(type));
 3237     clang::QualType qual_type(GetCanonicalQualType(type));
 3243         QualType pointee_type = block_pointer_type->getPointeeType();
 3244         QualType function_pointer_type = m_ast_up->getPointerType(pointee_type);
 3295   clang::QualType qual_type(GetCanonicalQualType(type));
 3328     clang::QualType qual_type(GetCanonicalQualType(type));
 3400     clang::QualType qual_type(GetCanonicalQualType(type));
 3487     clang::QualType qual_type(GetCanonicalQualType(type));
 3542     clang::QualType qual_type(GetCanonicalQualType(type));
 3581   clang::QualType qual_type(GetQualType(type));
 3605     clang::QualType qual_type(ClangUtil::GetCanonicalQualType(type));
 3625   clang::QualType qual_type(GetCanonicalQualType(type));
 3633   clang::QualType qual_type(GetCanonicalQualType(type));
 3640     clang::QualType qual_type(GetCanonicalQualType(type));
 3668   clang::QualType pointee_qual_type;
 3670     clang::QualType qual_type(GetCanonicalQualType(type));
 3856     clang::QualType qual_type(ClangUtil::GetCanonicalQualType(type));
 3873   clang::QualType qual_type(ClangUtil::GetCanonicalQualType(type));
 3880   clang::QualType qual_type(GetCanonicalQualType(type));
 3892   clang::QualType qual_type(ClangUtil::GetCanonicalQualType(type));
 3929     clang::QualType qual_type(GetQualType(type));
 3952   clang::QualType qual_type(GetQualType(type));
 4030       clang::QualType complex_element_type(complex_type->getElementType());
 4183   clang::QualType qual_type(GetCanonicalQualType(type).getNonReferenceType());
 4190     clang::QualType pointee_type(qual_type->getPointeeType());
 4267   clang::QualType qual_type(GetQualType(type));
 4419     clang::QualType qual_type(GetCanonicalQualType(type));
 4443     clang::QualType qual_type(GetCanonicalQualType(type));
 4472 static clang::QualType GetFullyUnqualifiedType_Impl(clang::ASTContext *ast,
 4473                                                     clang::QualType qual_type) {
 4522     clang::QualType qual_type(GetQualType(type));
 4535     clang::QualType qual_type(GetCanonicalQualType(type));
 4624     clang::QualType qual_type(GetCanonicalQualType(type));
 4776     clang::QualType qual_type(ClangUtil::GetQualType(type));
 4801     clang::QualType qual_type(GetQualType(type));
 4811     clang::QualType qual_type(GetQualType(type));
 4852     clang::QualType result(GetQualType(type));
 4862     clang::QualType result(GetQualType(type));
 4872     clang::QualType result(GetQualType(type));
 4885     clang::QualType qual_type(GetQualType(type));
 4958     clang::QualType qual_type(GetCanonicalQualType(type));
 5034   clang::QualType qual_type(GetCanonicalQualType(type));
 5321   clang::QualType qual_type(GetCanonicalQualType(type));
 5504                     clang::QualType qual_type,
 5520   clang::QualType qual_type(GetQualType(type));
 5611     clang::QualType pointee_type = pointer_type->getPointeeType();
 5645     clang::QualType pointee_type(pointer_type->getPointeeType());
 5661     clang::QualType pointee_type = reference_type->getPointeeType();
 5715     clang::QualType qual_type(GetQualType(type));
 5817   clang::QualType qual_type(GetCanonicalQualType(type));
 5923           clang::QualType ivar_qual_type(ivar_decl->getType());
 5967   clang::QualType qual_type(GetCanonicalQualType(type));
 6093   clang::QualType qual_type(GetCanonicalQualType(type));
 6168   clang::QualType qual_type(GetCanonicalQualType(type));
 6213   clang::QualType qual_type(GetCanonicalQualType(type));
 6336   clang::QualType qual_type(GetCanonicalQualType(type));
 6407 uint32_t ClangASTContext::GetNumPointeeChildren(clang::QualType type) {
 6411   clang::QualType qual_type(type.getCanonicalType());
 6578   clang::QualType parent_qual_type(GetCanonicalQualType(type));
 6751                   clang::QualType ivar_qual_type(
 6785                 clang::QualType ivar_qual_type(ivar_decl->getType());
 7153     clang::QualType qual_type(GetCanonicalQualType(type));
 7360       clang::QualType pointee_type(reference_type->getPointeeType());
 7423     clang::QualType qual_type(GetCanonicalQualType(type));
 7647   clang::QualType qual_type(GetCanonicalQualType(type));
 7702   clang::QualType qual_type(GetCanonicalQualType(type));
 7979       clang::QualType field_qual_type = field_pos->getType();
 8130   clang::QualType record_qual_type(GetCanonicalQualType(type));
 8138   clang::QualType method_qual_type(ClangUtil::GetQualType(method_clang_type));
 8522           clang::QualType result_type = clang_ast->VoidTy;
 8623   clang::QualType method_qual_type(ClangUtil::GetQualType(method_clang_type));
 8695   clang::QualType qual_type(GetCanonicalQualType(type));
 8768   clang::QualType qual_type(ClangUtil::GetQualType(type));
 8794   clang::QualType qual_type(ClangUtil::GetQualType(type));
 8832           QualType integer_type(enum_decl->getIntegerType());
 8837             clang::QualType promotion_qual_type;
 8876   clang::QualType enum_qual_type(
 8922   clang::QualType enum_qual_type(GetCanonicalQualType(type));
 8962   clang::QualType qual_type(GetQualType(type));
 9014   clang::QualType qual_type(GetQualType(type));
 9061           clang::QualType base_class_qual_type = base_class->getType();
 9111         clang::QualType field_type = field->getType();
 9195     clang::QualType element_qual_type = array->getElementType();
 9266     clang::QualType typedef_qual_type =
 9294     clang::QualType elaborated_qual_type =
 9320     clang::QualType elaborated_qual_type =
 9346     clang::QualType desugar_qual_type =
 9383 static bool DumpEnumValue(const clang::QualType &qual_type, Stream *s,
 9473     clang::QualType qual_type(GetQualType(type));
 9485       clang::QualType typedef_qual_type =
 9644     clang::QualType qual_type(GetQualType(type));
 9743     clang::QualType qual_type(
tools/lldb/source/Symbol/ClangASTImporter.cpp
   58 clang::QualType ClangASTImporter::CopyType(clang::ASTContext *dst_ast,
   60                                            clang::QualType type) {
   68   llvm::Expected<QualType> ret_or_error = delegate_sp->Import(type);
   83   return CopyType(dst_ast, src_ast, QualType::getFromOpaquePtr(type))
  356   if (auto *t = QualType::getFromOpaquePtr(type)->getAs<TagType>())
  411   clang::QualType qual_type(
  487   clang::QualType qual_type(
  700 bool ClangASTImporter::CompleteAndFetchChildren(clang::QualType type) {
  772 bool ClangASTImporter::RequireCompleteType(clang::QualType type) {
tools/lldb/source/Symbol/ClangUtil.cpp
   27 QualType ClangUtil::GetQualType(const CompilerType &ct) {
   32   return QualType::getFromOpaquePtr(ct.GetOpaqueQualType());
   35 QualType ClangUtil::GetCanonicalQualType(const CompilerType &ct) {
   46   QualType qual_type(GetQualType(ct));
   52   clang::QualType qual_type = ClangUtil::GetCanonicalQualType(type);
tools/lldb/source/Symbol/CxxModuleHandler.cpp
  230       llvm::Expected<QualType> type = m_importer->Import(arg.getAsType());
  240       llvm::Expected<QualType> type =
tools/lldb/tools/lldb-instr/Instrument.cpp
  193       QualType T = P->getType();
  208     QualType ReturnType = Decl->getReturnType();
tools/lldb/unittests/Symbol/TestClangASTContext.cpp
   47   QualType GetBasicQualType(BasicType type) const {
   51   QualType GetBasicQualType(const char *name) const {
  178   QualType qtype = ClangUtil::GetQualType(type);
  254   QualType qt;
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  475 	{ __a.construct(__p, std::forward<_Args>(__args)...); }
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
  136     inline _GLIBCXX17_CONSTEXPR _Tp*
  137     addressof(_Tp& __r) noexcept
  143     const _Tp* addressof(const _Tp&&) = delete;
  143     const _Tp* addressof(const _Tp&&) = delete;
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/ptr_traits.h
  126       typedef _Tp* pointer;
  128       typedef _Tp  element_type;
  141       pointer_to(__make_not_void<element_type>& __r) noexcept
  141       pointer_to(__make_not_void<element_type>& __r) noexcept
usr/include/c++/7.4.0/bits/std_function.h
  299       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
  302 	    std::forward<_ArgTypes>(__args)...);
  390     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
  595       _Res operator()(_ArgTypes... __args) const;
  628       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
  689 	typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler;
  706       return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
usr/include/c++/7.4.0/bits/stl_algo.h
 3900 	 const _Tp& __val)
 4076     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
usr/include/c++/7.4.0/bits/stl_construct.h
   74     _Construct(_T1* __p, _Args&&... __args)
   74     _Construct(_T1* __p, _Args&&... __args)
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
  111       typedef _Result 	result_type;  
  870     : public unary_function<_Tp,_Tp>
  870     : public unary_function<_Tp,_Tp>
  872       _Tp&
  873       operator()(_Tp& __x) const
  876       const _Tp&
  877       operator()(const _Tp& __x) const
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  123       typedef _Tp        value_type;
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
usr/include/c++/7.4.0/bits/stl_map.h
  102       typedef _Key					key_type;
  104       typedef std::pair<const _Key, _Tp>		value_type;
usr/include/c++/7.4.0/bits/stl_pair.h
  100 	return __and_<is_constructible<_T1, const _U1&>,
  100 	return __and_<is_constructible<_T1, const _U1&>,
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  107 	return __and_<is_convertible<const _U1&, _T1>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  114 	return __and_<is_constructible<_T1, _U1&&>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  121 	return __and_<is_convertible<_U1&&, _T1>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  133 	return __and_<is_constructible<_T1, const _U1&>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  147 	return __and_<is_constructible<_T1, _U1&&>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  209     : private __pair_base<_T1, _T2>
  211       typedef _T1 first_type;    /// @c first_type is the first bound type
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  214       _T1 first;                 /// @c first is a copy of the first object
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  283 			    _T1, _T2>;
  291         constexpr pair(const pair<_U1, _U2>& __p)
  291         constexpr pair(const pair<_U1, _U2>& __p)
  311        constexpr pair(_U1&& __x, const _T2& __y)
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  326        : first(__x), second(std::forward<_U2>(__y)) { }
  332        explicit pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  361 	: first(std::forward<_U1>(__p.first)),
  362 	  second(std::forward<_U2>(__p.second)) { }
  379 		__and_<is_copy_assignable<_T1>,
  380 		       is_copy_assignable<_T2>>::value,
  390 		__and_<is_move_assignable<_T1>,
  391 		       is_move_assignable<_T2>>::value,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  405 	operator=(const pair<_U1, _U2>& __p)
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  416 	operator=(pair<_U1, _U2>&& __p)
  495     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
  495     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
  522     constexpr pair<typename __decay_and_strip<_T1>::__type,
  523                    typename __decay_and_strip<_T2>::__type>
  524     make_pair(_T1&& __x, _T2&& __y)
  524     make_pair(_T1&& __x, _T2&& __y)
  526       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
  527       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
usr/include/c++/7.4.0/bits/stl_set.h
  110       typedef _Key     key_type;
  111       typedef _Key     value_type;
  119 	rebind<_Key>::other _Key_alloc_type;
usr/include/c++/7.4.0/bits/stl_tree.h
  218       typedef _Rb_tree_node<_Val>* _Link_type;
  231       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
  233       _Val*
  237       const _Val*
  258       typedef _Tp  value_type;
  259       typedef _Tp& reference;
  260       typedef _Tp* pointer;
  265       typedef _Rb_tree_iterator<_Tp>        _Self;
  267       typedef _Rb_tree_node<_Tp>*           _Link_type;
  328       typedef _Tp        value_type;
  329       typedef const _Tp& reference;
  330       typedef const _Tp* pointer;
  332       typedef _Rb_tree_iterator<_Tp> iterator;
  337       typedef _Rb_tree_const_iterator<_Tp>        _Self;
  339       typedef const _Rb_tree_node<_Tp>*           _Link_type;
  447         rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
  454       typedef _Rb_tree_node<_Val>* 		_Link_type;
  455       typedef const _Rb_tree_node<_Val>*	_Const_Link_type;
  554 	  operator()(_Arg&& __arg) const
  563       typedef _Key 				key_type;
  564       typedef _Val 				value_type;
  621 	_M_construct_node(_Link_type __node, _Args&&... __args)
  625 	      ::new(__node) _Rb_tree_node<_Val>;
  640         _M_create_node(_Args&&... __args)
  758       static const _Key&
  782       static const _Key&
  834 	_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
  894 		     const _Key& __k);
  898 		     const _Key& __k) const;
  902 		     const _Key& __k);
  906 		     const _Key& __k) const;
 1011         _M_insert_unique(_Arg&& __x);
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  144 		      const _Tp& __x)
  182 		       const _Tp& __x)
  288 			   _ForwardIterator __result, allocator<_Tp>&)
  644 				allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
  962 	emplace_back(_Args&&... __args);
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
 1561 	_Up*
 1562 	_M_data_ptr(_Up* __ptr) const _GLIBCXX_NOEXCEPT
usr/include/c++/7.4.0/bits/unique_ptr.h
  824     make_unique(_Args&&... __args)
  825     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
usr/include/c++/7.4.0/bits/vector.tcc
  101 				     std::forward<_Args>(__args)...);
  105 	  _M_realloc_insert(end(), std::forward<_Args>(__args)...);
  418 				   std::forward<_Args>(__args)...);
usr/include/c++/7.4.0/ext/aligned_buffer.h
   52       struct _Tp2 { _Tp _M_t; };
   54       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
   69       _Tp*
   73       const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
   84 	new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list
   50       typedef _E 		value_type;
   51       typedef const _E& 	reference;
   52       typedef const _E& 	const_reference;
   54       typedef const _E* 	iterator;
   55       typedef const _E* 	const_iterator;
usr/include/c++/7.4.0/tuple
   56     struct __is_empty_non_tuple : is_empty<_Tp> { };
  125       constexpr _Head_base(const _Head& __h)
  132         constexpr _Head_base(_UHead&& __h)
  133 	: _M_head_impl(std::forward<_UHead>(__h)) { }
  159       static constexpr _Head&
  162       static constexpr const _Head&
  165       _Head _M_head_impl;
  186     : public _Tuple_impl<_Idx + 1, _Tail...>,
  187       private _Head_base<_Idx, _Head>
  191       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
  192       typedef _Head_base<_Idx, _Head> _Base;
  194       static constexpr _Head&
  197       static constexpr const _Head&
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  217 	: _Inherited(std::forward<_UTail>(__tail)...),
  218 	  _Base(std::forward<_UHead>(__head)) { }
  227 	_Base(std::forward<_Head>(_M_head(__in))) { }
  230         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
  235         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
  235         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
  242 	_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
  248 		    const _Head& __head, const _Tail&... __tail)
  248 		    const _Head& __head, const _Tail&... __tail)
  262         _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
  268 	_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
  313 	  _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
  314 	  _M_tail(*this) = _Tuple_impl<_Idx, _UElements...>::_M_tail(__in);
  344     : private _Head_base<_Idx, _Head>
  348       typedef _Head_base<_Idx, _Head> _Base;
  350       static constexpr _Head&
  353       static constexpr const _Head&
  360       constexpr _Tuple_impl(const _Head& __head)
  365         constexpr _Tuple_impl(_UHead&& __head)
  366 	: _Base(std::forward<_UHead>(__head)) { }
  373       : _Base(std::forward<_Head>(_M_head(__in))) { }
  376         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
  380         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
  390 		    const _Head& __head)
  442 	  _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  473       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  479       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  485       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  491       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
  497       return  __and_<__not_<is_same<tuple<_Elements...>,
  501                      __not_<is_convertible<_SrcTuple, _Elements...>>,
  502                      __not_<is_constructible<_Elements..., _SrcTuple>>
  508       return  __not_<is_same<tuple<_Elements...>,
  510 			       typename remove_reference<_UElements...>::type
  556     class tuple : public _Tuple_impl<0, _Elements...>
  558       typedef _Tuple_impl<0, _Elements...> _Inherited;
  598             _Elements...>;
  608         constexpr tuple(const _Elements&... __elements)
  619       explicit constexpr tuple(const _Elements&... __elements)
  628                       _Elements...>;
  636                       _Elements...>;
  646         constexpr tuple(_UElements&&... __elements)
  647         : _Inherited(std::forward<_UElements>(__elements)...) { }
  668             _Elements...>;
  730 	      const _Elements&... __elements)
  741                        const _Elements&... __elements)
  767 	tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
  771 	tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
  853         operator=(const tuple<_UElements...>& __in)
  863         operator=(tuple<_UElements...>&& __in)
  907     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
  907     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
  909       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
  909       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
  939         _TC<is_same<_Dummy, void>::value, _T1, _T2>;
  939         _TC<is_same<_Dummy, void>::value, _T1, _T2>;
  947         constexpr tuple(const _T1& __a1, const _T2& __a2)
  947         constexpr tuple(const _T1& __a1, const _T2& __a2)
  956         explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
  956         explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
  961       using _TMC = _TC<true, _T1, _T2>;
  961       using _TMC = _TC<true, _T1, _T2>;
  971         constexpr tuple(_U1&& __a1, _U2&& __a2)
  971         constexpr tuple(_U1&& __a1, _U2&& __a2)
  972 	: _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
  995         constexpr tuple(const tuple<_U1, _U2>& __in)
  995         constexpr tuple(const tuple<_U1, _U2>& __in)
 1013         constexpr tuple(tuple<_U1, _U2>&& __in)
 1013         constexpr tuple(tuple<_U1, _U2>&& __in)
 1066 	tuple(allocator_arg_t __tag, const _Alloc& __a)
 1078 	      const _T1& __a1, const _T2& __a2)
 1078 	      const _T1& __a1, const _T2& __a2)
 1090 	      const _T1& __a1, const _T2& __a2)
 1090 	      const _T1& __a1, const _T2& __a2)
 1225         operator=(const tuple<_U1, _U2>& __in)
 1225         operator=(const tuple<_U1, _U2>& __in)
 1233         operator=(tuple<_U1, _U2>&& __in)
 1233         operator=(tuple<_U1, _U2>&& __in)
 1241         operator=(const pair<_U1, _U2>& __in)
 1241         operator=(const pair<_U1, _U2>& __in)
 1250         operator=(pair<_U1, _U2>&& __in)
 1250         operator=(pair<_U1, _U2>&& __in)
 1252 	  this->_M_head(*this) = std::forward<_U1>(__in.first);
 1253 	  this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
 1280     : tuple_element<__i - 1, tuple<_Tail...> > { };
 1288       typedef _Head type;
 1302     constexpr _Head&
 1303     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1303     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1304     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
 1304     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
 1307     constexpr const _Head&
 1308     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1308     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1313     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
 1314     get(tuple<_Elements...>& __t) noexcept
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1319     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
 1320     get(const tuple<_Elements...>& __t) noexcept
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1325     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
 1326     get(tuple<_Elements...>&& __t) noexcept
 1447     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
 1448     make_tuple(_Elements&&... __args)
 1450       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
 1452       return __result_type(std::forward<_Elements>(__args)...);
 1468 			tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
 1468 			tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
 1468 			tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
 1475       typedef tuple<_Tp...> __type;
 1503       typedef tuple<_Ts...> __type;
 1509       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
 1509       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
 1550         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
 1565 	_S_do(_Us&&... __us)
 1588     constexpr tuple<_Elements&...>
 1589     tie(_Elements&... __args) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1215     : public __and_<is_constructible<_Tp, _Args...>,
 1216 		    __is_nt_constructible_impl<_Tp, _Args...>>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1252     : public __is_nothrow_move_constructible_impl<_Tp>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_move_assignable_impl<_Tp>
 1377     static void __helper(const _Tp&);
 1380     static true_type __test(const _Tp&,
 1381                             decltype(__helper<const _Tp&>({}))* = 0);
 1390     typedef decltype(__test(declval<_Tp>())) type;
 1395       : public __is_implicitly_default_constructible_impl<_Tp>::type
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_Tp>>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2118       typedef typename remove_reference<_Tp>::type __remove_type;
 2131       typedef _Tp __type;
 2144 	typename decay<_Tp>::type>::__type __type;
 2171     { typedef _Iffalse type; };
 2428       std::declval<_Fn>()(std::declval<_Args>()...)
 2439       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
 2452 	_Functor, _ArgTypes...
 2458     : public __invoke_result<_Functor, _ArgTypes...>
 2574       typename remove_reference<_Tp>::type>::type>::type
 2579     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
 2580 			      is_move_constructible<_Tp>,
 2581 			      is_move_assignable<_Tp>>::value>::type
 2582     swap(_Tp&, _Tp&)
 2582     swap(_Tp&, _Tp&)
 2609           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
 2609           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
 2629       typedef decltype(__test<_Tp>(0)) type;
 2639     : public __is_nothrow_swappable_impl<_Tp>::type
utils/unittest/googletest/include/gtest/gtest-printers.h
  140   static void PrintValue(const T& value, ::std::ostream* os) {
  205     ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
  206   TypeWithoutFormatter<T,
  207       (internal::IsAProtocolMessage<T>::value ? kProtobuf :
  208        internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
  223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
  276   static ::std::string Format(const ToPrint& value) {
  351     const T1& value, const T2& /* other_operand */) {
  351     const T1& value, const T2& /* other_operand */) {
  352   return FormatForComparison<T1, T2>::Format(value);
  352   return FormatForComparison<T1, T2>::Format(value);
  366 void UniversalPrint(const T& value, ::std::ostream* os);
  373                     const C& container, ::std::ostream* os) {
  439                     const T& value, ::std::ostream* os) {
  455 void PrintTo(const T& value, ::std::ostream* os) {
  478   DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
  699   static void Print(const T& value, ::std::ostream* os) {
  784   static void Print(const T& value, ::std::ostream* os) {
  856   typedef T T1;
  983   internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h
 1377                                    const T1& lhs, const T2& rhs) {
 1377                                    const T1& lhs, const T2& rhs) {
 1389                             const T1& lhs,
 1390                             const T2& rhs) {
 1419                                  const T1& lhs,
 1420                                  const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h
   29   static const T& printable(const T& V) { return V; }
   29   static const T& printable(const T& V) { return V; }
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   37   return StreamSwitch<T>::printable(V);
utils/unittest/googletest/include/gtest/internal/gtest-internal.h
   94 ::std::string PrintToString(const T& value);