reference, declarationdefinition
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; };