|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
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> {};
include/llvm/ADT/ImmutableMap.h 28 using value_type = const std::pair<T,S>;
32 using data_type = const S;
33 using data_type_ref = const S&;
51 return ImutContainerInfo<S>::isEqual(L,R);
56 ImutContainerInfo<S>::Profile(ID, V.second);
include/llvm/ADT/ImmutableSet.h 840 using value_type = const T;
841 using value_type_ref = const T&;
844 FoldingSetTrait<T>::Profile(X,ID);
909 struct ImutContainerInfo : public ImutProfileInfo<T> {
910 using value_type = typename ImutProfileInfo<T>::value_type;
911 using value_type_ref = typename ImutProfileInfo<T>::value_type_ref;
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 {
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 {
271 T &&getValue() && { return std::move(Storage.getValue()); }
272 T &&operator*() && { return std::move(Storage.getValue()); }
275 T getValueOr(U &&value) && {
include/llvm/Support/type_traits.h 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/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h 147 using data_type = llvm::ImmutableMap<Key, Data, Info>;
150 using value_type = Data;
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp 28 const RefVal *getRefBinding(ProgramStateRef State, SymbolRef Sym) {
37 RefVal Val) {
104 case RefVal::ErrorOverAutorelease:
108 case RefVal::ErrorReturnedNotOwned:
214 const RefVal* T = getRefBinding(state, Sym);
218 RefVal::Kind hasErr = (RefVal::Kind) 0;
236 if (const RefVal* T = getRefBinding(state, sym)) {
237 RefVal::Kind hasErr = (RefVal::Kind) 0;
253 RefVal::makeNotOwned(ObjKind::ObjC, ResultTy));
279 RefVal::makeNotOwned(ObjKind::ObjC, ResultTy));
313 if (const RefVal *RV = getRefBinding(State, Sym)) {
316 if (RV->getIvarAccessHistory() != RefVal::IvarAccessHistory::None ||
326 RefVal PlusZero = RefVal::makeNotOwned(Kind, Ty);
326 RefVal PlusZero = RefVal::makeNotOwned(Kind, Ty);
373 if (const RefVal *T = getRefBinding(C.getState(), Sym))
415 static Optional<RefVal> refValFromRetEffect(RetEffect RE,
418 return RefVal::makeOwned(RE.getObjKind(), ResultTy);
420 return RefVal::makeNotOwned(RE.getObjKind(), ResultTy);
437 const RefVal *TrackedValue) {
459 if (const RefVal *T = getRefBinding(state, Sym))
570 RefVal::makeNotOwned(AE.getObjKind(), PointeeTy));
574 RefVal::makeOwned(ObjKind::OS, PointeeTy));
611 RefVal::Kind hasErr = (RefVal::Kind) 0;
624 if (const RefVal *T = getRefBinding(state, Sym)) {
646 if (const RefVal *T = getRefBinding(state, Sym)) {
660 if (const RefVal *T = getRefBinding(state, Sym)) {
695 if (Optional<RefVal> updatedRefVal = refValFromRetEffect(RE, ResultTy))
712 SymbolRef sym, RefVal V,
714 RefVal::Kind &hasErr,
734 if (V.getKind() == RefVal::Released) {
735 V = V ^ RefVal::ErrorUseAfterRelease;
752 case RefVal::Owned:
754 V = V ^ RefVal::Released;
757 case RefVal::NotOwned:
758 V = V ^ RefVal::ErrorDeallocNotOwned;
765 if (V.getKind() == RefVal::Owned) {
766 V = V ^ RefVal::NotOwned;
788 case RefVal::Owned:
789 case RefVal::NotOwned:
803 case RefVal::Owned:
808 RefVal::IvarAccessHistory::AccessedDirectly)
809 V = V ^ RefVal::NotOwned;
811 V = V ^ RefVal::Released;
819 case RefVal::NotOwned:
825 RefVal::IvarAccessHistory::AccessedDirectly) {
830 V = V.releaseViaIvar() ^ RefVal::Released;
832 V = V ^ RefVal::ErrorReleaseNotOwned;
843 RetainCountChecker::errorKindToBugKind(RefVal::Kind ErrorKind,
846 case RefVal::ErrorUseAfterRelease:
848 case RefVal::ErrorReleaseNotOwned:
850 case RefVal::ErrorDeallocNotOwned:
861 RefVal::Kind ErrorKind,
870 if (const RefVal *RV = getRefBinding(St, Sym))
871 if (RV->getIvarAccessHistory() != RefVal::IvarAccessHistory::None)
991 const RefVal *T = getRefBinding(state, Sym);
996 RefVal X = *T;
999 case RefVal::Owned: {
1003 X = X ^ RefVal::ReturnedOwned;
1007 case RefVal::NotOwned: {
1011 X = X ^ RefVal::ReturnedOwned;
1013 X = X ^ RefVal::ReturnedNotOwned;
1069 RetEffect RE, RefVal X,
1078 if (X.getIvarAccessHistory() != RefVal::IvarAccessHistory::None)
1088 X = X ^ RefVal::ErrorLeakReturned;
1107 RefVal::IvarAccessHistory::AccessedDirectly) {
1111 X.releaseViaIvar() ^ RefVal::ReturnedOwned);
1115 state = setRefBinding(state, Sym, X ^ RefVal::ErrorReturnedNotOwned);
1212 RefVal V,
1224 if (V.getKind() == RefVal::ReturnedOwned)
1230 V.getIvarAccessHistory() == RefVal::IvarAccessHistory::AccessedDirectly) {
1238 if (V.getKind() == RefVal::ReturnedOwned) {
1239 V = V ^ RefVal::ReturnedNotOwned;
1241 V = V ^ RefVal::NotOwned;
1256 if (V.getIvarAccessHistory() != RefVal::IvarAccessHistory::None)
1261 V = V ^ RefVal::ErrorOverAutorelease;
1286 SymbolRef sid, RefVal V,
1296 if (V.getIvarAccessHistory() != RefVal::IvarAccessHistory::None)
1309 return setRefBinding(state, sid, V ^ RefVal::ErrorLeak);
1357 RefVal NewVal = AE->getKind() == DecRef ? RefVal::makeOwned(K, Ty)
1357 RefVal NewVal = AE->getKind() == DecRef ? RefVal::makeOwned(K, Ty)
1358 : RefVal::makeNotOwned(K, Ty);
1421 const RefVal &V = I.second;
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h 172 static RefVal makeOwned(ObjKind o, QualType t) {
180 static RefVal makeNotOwned(ObjKind o, QualType t) {
184 RefVal operator-(size_t i) const {
189 RefVal operator+(size_t i) const {
194 RefVal operator^(Kind k) const {
199 RefVal autorelease() const {
204 RefVal withIvarAccess() const {
210 RefVal releaseViaIvar() const {
217 bool hasSameState(const RefVal &X) const {
222 bool operator==(const RefVal& X) const {
327 ExplodedNode *Pred, RetEffect RE, RefVal X,
335 RefVal V, ArgEffect E, RefVal::Kind &hasErr,
335 RefVal V, ArgEffect E, RefVal::Kind &hasErr,
338 const RefCountBug &errorKindToBugKind(RefVal::Kind ErrorKind,
342 RefVal::Kind ErrorKind, SymbolRef Sym,
348 SymbolRef sid, RefVal V,
355 RefVal V,
382 const RefVal *getRefBinding(ProgramStateRef State, SymbolRef Sym);
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp 94 const RefVal *PrevT,
95 const RefVal &CurrV,
98 RefVal PrevV = *PrevT;
106 if (CurrV.getKind() == RefVal::Released) {
116 case RefVal::Owned:
117 case RefVal::NotOwned:
138 case RefVal::Released:
140 RefVal::IvarAccessHistory::ReleasedAfterDirectAccess &&
147 case RefVal::ReturnedOwned:
156 case RefVal::ReturnedNotOwned:
212 const RefVal &CurrV, SymbolRef &Sym,
393 const RefVal *CountBeforeCall = getRefBinding(CN->getState(), SR);
394 const RefVal *CountAtExit = getRefBinding(N->getState(), SR);
429 const RefVal *CurrT = getRefBinding(N->getState(), Sym);
482 const RefVal* CurrT = getRefBinding(CurrSt, Sym);
486 const RefVal &CurrV = *CurrT;
487 const RefVal *PrevT = getRefBinding(PrevSt, Sym);
757 const RefVal* RV = getRefBinding(EndN->getState(), Sym);
760 if (RV->getKind() == RefVal::ErrorLeakReturned) {
usr/include/c++/7.4.0/bits/move.h 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
usr/include/c++/7.4.0/bits/stl_pair.h 101 is_constructible<_T2, const _U2&>>::value;
108 is_convertible<const _U2&, _T2>>::value;
115 is_constructible<_T2, _U2&&>>::value;
115 is_constructible<_T2, _U2&&>>::value;
122 is_convertible<_U2&&, _T2>>::value;
122 is_convertible<_U2&&, _T2>>::value;
129 is_convertible<_U2&&, _T2>>;
134 is_constructible<_T2, _U2&&>,
209 : private __pair_base<_T1, _T2>
212 typedef _T2 second_type; /// @c second_type is the second bound type
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
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)
341 constexpr pair(_U1&& __x, _U2&& __y)
380 is_copy_assignable<_T2>>::value,
391 is_move_assignable<_T2>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
403 is_assignable<_T2&, const _U2&>>::value,
405 operator=(const pair<_U1, _U2>& __p)
414 is_assignable<_T2&, _U2&&>>::value,
414 is_assignable<_T2&, _U2&&>>::value,
416 operator=(pair<_U1, _U2>&& __p)
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
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
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>
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>
1526 static void __test_aux(_To1);
1538 typedef decltype(__test<_From, _To>(0)) 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; };
1955 { typedef _Tp type; };