[llvm] [libc++] Ensure that `std::expected` has no tail padding (PR #69673)

via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 21 04:25:44 PDT 2023


Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>,
Jan =?utf-8?q?Kokem=C3=BCller?= <jan.kokemueller at gmail.com>
Message-ID:
In-Reply-To: <llvm/llvm-project/pull/69673/llvm at github.com>


================
@@ -1552,8 +1570,56 @@ class expected<_Tp, _Err> {
     _LIBCPP_NO_UNIQUE_ADDRESS _ErrorType __unex_;
   };
 
-  _LIBCPP_NO_UNIQUE_ADDRESS __union_t<_Err> __union_;
-  bool __has_val_;
+  struct __expected_repr {
----------------
philnik777 wrote:

Let's just name this `__repr`. It's already inside `expected`.

https://github.com/llvm/llvm-project/pull/69673


More information about the llvm-commits mailing list