[libcxx-commits] [PATCH] D98750: Apply [[standalone_debug]] to some types in the STL.
Amy Huang via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue May 4 09:31:45 PDT 2021
akhuang updated this revision to Diff 342775.
akhuang added a comment.
Update to only apply attribute to types not covered in
https://reviews.llvm.org/D101206.
Also remove test case changes, which don't work because the test could be using
an older version of clang.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98750/new/
https://reviews.llvm.org/D98750
Files:
libcxx/include/__config
libcxx/include/__tree
libcxx/include/map
libcxx/include/unordered_map
Index: libcxx/include/unordered_map
===================================================================
--- libcxx/include/unordered_map
+++ libcxx/include/unordered_map
@@ -702,7 +702,7 @@
#ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp>
-struct __hash_value_type
+struct _LIBCPP_STANDALONE_DEBUG __hash_value_type
{
typedef _Key key_type;
typedef _Tp mapped_type;
Index: libcxx/include/map
===================================================================
--- libcxx/include/map
+++ libcxx/include/map
@@ -666,7 +666,7 @@
#ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp>
-struct __value_type
+struct _LIBCPP_STANDALONE_DEBUG __value_type
{
typedef _Key key_type;
typedef _Tp mapped_type;
Index: libcxx/include/__tree
===================================================================
--- libcxx/include/__tree
+++ libcxx/include/__tree
@@ -714,7 +714,7 @@
};
template <class _VoidPtr>
-class __tree_node_base
+class _LIBCPP_STANDALONE_DEBUG __tree_node_base
: public __tree_node_base_types<_VoidPtr>::__end_node_type
{
typedef __tree_node_base_types<_VoidPtr> _NodeBaseTypes;
@@ -742,7 +742,7 @@
};
template <class _Tp, class _VoidPtr>
-class __tree_node
+class _LIBCPP_STANDALONE_DEBUG __tree_node
: public __tree_node_base<_VoidPtr>
{
public:
Index: libcxx/include/__config
===================================================================
--- libcxx/include/__config
+++ libcxx/include/__config
@@ -1342,6 +1342,12 @@
#endif
#endif // !defined(_LIBCPP_NODEBUG_TYPE)
+#if __has_attribute(__standalone_debug__)
+#define _LIBCPP_STANDALONE_DEBUG __attribute__((__standalone_debug__))
+#else
+#define _LIBCPP_STANDALONE_DEBUG
+#endif
+
#if __has_attribute(__preferred_name__)
#define _LIBCPP_PREFERRED_NAME(x) __attribute__((__preferred_name__(x)))
#else
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98750.342775.patch
Type: text/x-patch
Size: 1992 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210504/c16c229a/attachment-0001.bin>
More information about the libcxx-commits
mailing list