|
reference, declaration → definition
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.inc16540 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 ¶mType);
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 <y,
570 QualType &RTy) {
645 ASTContext &Ctx, T &LHS, QualType <y,
646 T &RHS, QualType &RTy) {
654 QualType NewTy = Ctx.getPromotedIntegerType(LTy);
661 QualType NewTy = Ctx.getPromotedIntegerType(RTy);
712 QualType NewTy =
728 QualType <y, T &RHS, QualType &RTy) {
728 QualType <y, 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);