[libc-commits] [libc] [libc] fix atomic and apply an explicit check on unique object representations (PR #119715)

Nick Desaulniers via libc-commits libc-commits at lists.llvm.org
Thu Dec 12 09:28:29 PST 2024


================
@@ -0,0 +1,28 @@
+//===-- has_unique_object_representations type_traits ------------*- C++-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+#ifndef LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATIONS_H
+#define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATIONS_H
+
+#include "src/__support/CPP/type_traits/integral_constant.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
+
+template <class T>
+struct has_unique_object_representations
+    : public integral_constant<bool, __has_unique_object_representations(T)> {};
----------------
nickdesaulniers wrote:

Do we need `remove_all_extents_t` a la libc++, too?

See also: fd001c16fed19

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


More information about the libc-commits mailing list