llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Florian Mayer (fmayer) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/170942.diff 1 Files Affected: - (modified) clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp (+90) ``````````diff diff --git a/clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp b/clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp index 2e528edd7c1f9..76c7310e16a4f 100644 --- a/clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp +++ b/clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp @@ -2232,6 +2232,95 @@ using testing::AssertionResult; #endif // TESTING_DEFS_H )cc"; +constexpr const char StdUniquePtrHeader[] = R"cc( +namespace std { + + template <typename T> + struct default_delete {}; + + template <typename T, typename D = default_delete<T>> + class unique_ptr { + public: + using element_type = T; + using deleter_type = D; + + constexpr unique_ptr(); + constexpr unique_ptr(nullptr_t) noexcept; + unique_ptr(unique_ptr&&); + explicit unique_ptr(T*); + template <typename U, typename E> + unique_ptr(unique_ptr<U, E>&&); + + ~unique_ptr(); + + unique_ptr& operator=(unique_ptr&&); + template <typename U, typename E> + unique_ptr& operator=(unique_ptr<U, E>&&); + unique_ptr& operator=(nullptr_t); + + void reset(T* = nullptr) noexcept; + T* release(); + T* get() const; + + T& operator*() const; + T* operator->() const; + explicit operator bool() const noexcept; + }; + + template <typename T, typename D> + class unique_ptr<T[], D> { + public: + T* get() const; + T& operator[](size_t i); + const T& operator[](size_t i) const; + }; + + template <typename T, typename... Args> + unique_ptr<T> make_unique(Args&&...); + + template <class T, class D> + void swap(unique_ptr<T, D>& x, unique_ptr<T, D>& y) noexcept; + + template <class T1, class D1, class T2, class D2> + bool operator==(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); + template <class T1, class D1, class T2, class D2> + bool operator!=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); + template <class T1, class D1, class T2, class D2> + bool operator<(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); + template <class T1, class D1, class T2, class D2> + bool operator<=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); + template <class T1, class D1, class T2, class D2> + bool operator>(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); + template <class T1, class D1, class T2, class D2> + bool operator>=(const unique_ptr<T1, D1>& x, const unique_ptr<T2, D2>& y); + + template <class T, class D> + bool operator==(const unique_ptr<T, D>& x, nullptr_t) noexcept; + template <class T, class D> + bool operator==(nullptr_t, const unique_ptr<T, D>& y) noexcept; + template <class T, class D> + bool operator!=(const unique_ptr<T, D>& x, nullptr_t) noexcept; + template <class T, class D> + bool operator!=(nullptr_t, const unique_ptr<T, D>& y) noexcept; + template <class T, class D> + bool operator<(const unique_ptr<T, D>& x, nullptr_t); + template <class T, class D> + bool operator<(nullptr_t, const unique_ptr<T, D>& y); + template <class T, class D> + bool operator<=(const unique_ptr<T, D>& x, nullptr_t); + template <class T, class D> + bool operator<=(nullptr_t, const unique_ptr<T, D>& y); + template <class T, class D> + bool operator>(const unique_ptr<T, D>& x, nullptr_t); + template <class T, class D> + bool operator>(nullptr_t, const unique_ptr<T, D>& y); + template <class T, class D> + bool operator>=(const unique_ptr<T, D>& x, nullptr_t); + template <class T, class D> + bool operator>=(nullptr_t, const unique_ptr<T, D>& y); +} +)cc"; + std::vector<std::pair<std::string, std::string>> getMockHeaders() { std::vector<std::pair<std::string, std::string>> Headers; Headers.emplace_back("cstddef.h", CStdDefHeader); @@ -2249,6 +2338,7 @@ std::vector<std::pair<std::string, std::string>> getMockHeaders() { Headers.emplace_back("statusor_defs.h", StatusOrDefsHeader); Headers.emplace_back("absl_log.h", AbslLogHeader); Headers.emplace_back("testing_defs.h", TestingDefsHeader); + Headers.emplace_back("std_unique_ptr.h", StdUniquePtrHeader); return Headers; } `````````` </details> https://github.com/llvm/llvm-project/pull/170942 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
