[libcxx] r228281 - Fix unused private field warning in stdexcept after r207695.

Dimitry Andric dimitry at andric.com
Wed Feb 4 23:40:48 PST 2015


Author: dim
Date: Thu Feb  5 01:40:48 2015
New Revision: 228281

URL: http://llvm.org/viewvc/llvm-project?rev=228281&view=rev
Log:
Fix unused private field warning in stdexcept after r207695.

Add a new _LIBCPP_UNUSED define in __config, which can be used to
indicate explicitly unused items, and apply it to the __imp__ field of
__libcpp_refstring.

Somebody who knows about Microsoft C++ and IBM C++ should fill in the
unused attribute syntax appropriate for those compilers, if there is
any.

Differential Revision: http://reviews.llvm.org/D6836

Modified:
    libcxx/trunk/include/__config
    libcxx/trunk/include/stdexcept

Modified: libcxx/trunk/include/__config
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=228281&r1=228280&r2=228281&view=diff
==============================================================================
--- libcxx/trunk/include/__config (original)
+++ libcxx/trunk/include/__config Thu Feb  5 01:40:48 2015
@@ -258,6 +258,8 @@ typedef __char32_t char32_t;
 #  define _LIBCPP_NORETURN __attribute__ ((noreturn))
 #endif
 
+#define _LIBCPP_UNUSED __attribute__((__unused__))
+
 #if !(__has_feature(cxx_defaulted_functions))
 #define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
 #endif  // !(__has_feature(cxx_defaulted_functions))
@@ -380,6 +382,8 @@ namespace std {
 
 #define _LIBCPP_NORETURN __attribute__((noreturn))
 
+#define _LIBCPP_UNUSED __attribute__((__unused__))
+
 #if _GNUC_VER >= 407
 #define _LIBCPP_UNDERLYING_TYPE(T) __underlying_type(T)
 #define _LIBCPP_IS_LITERAL(T) __is_literal_type(T)
@@ -477,6 +481,7 @@ using namespace _LIBCPP_NAMESPACE __attr
 #define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
 #define __alignof__ __alignof
 #define _LIBCPP_NORETURN __declspec(noreturn)
+#define _LIBCPP_UNUSED
 #define _ALIGNAS(x) __declspec(align(x))
 #define _LIBCPP_HAS_NO_VARIADICS
 
@@ -500,6 +505,7 @@ namespace std {
 #define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x))))
 #define _ATTRIBUTE(x) __attribute__((x))
 #define _LIBCPP_NORETURN __attribute__((noreturn))
+#define _LIBCPP_UNUSED
 
 #define _NOEXCEPT throw()
 #define _NOEXCEPT_(x)

Modified: libcxx/trunk/include/stdexcept
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/stdexcept?rev=228281&r1=228280&r2=228281&view=diff
==============================================================================
--- libcxx/trunk/include/stdexcept (original)
+++ libcxx/trunk/include/stdexcept Thu Feb  5 01:40:48 2015
@@ -53,7 +53,7 @@ public:
 #ifndef _LIBCPP___REFSTRING
 _LIBCPP_BEGIN_NAMESPACE_STD
 class _LIBCPP_HIDDEN __libcpp_refstring {
-    const char *__imp_;
+    const char *__imp_ _LIBCPP_UNUSED;
 };
 _LIBCPP_END_NAMESPACE_STD
 #endif





More information about the cfe-commits mailing list