Author: marshall
Date: Tue Aug 20 21:57:19 2013
New Revision: 188858

URL: http://llvm.org/viewvc/llvm-project?rev=188858&view=rev
Log:
LWG 2145 - mark constructor for std::error_category as inline and constexpr. 
Leave the (existing, out-of-line, non-constexpr) in the dylib for compatibility 
with existing programs)

Modified:
    libcxx/trunk/include/system_error
    libcxx/trunk/src/system_error.cpp
    libcxx/trunk/www/cxx1y_status.html

Modified: libcxx/trunk/include/system_error
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/system_error?rev=188858&r1=188857&r2=188858&view=diff
==============================================================================
--- libcxx/trunk/include/system_error (original)
+++ libcxx/trunk/include/system_error Tue Aug 20 21:57:19 2013
@@ -22,6 +22,7 @@ class error_category
 public:
     virtual ~error_category() noexcept;
 
+    constexpr error_category();
     error_category(const error_category&) = delete;
     error_category& operator=(const error_category&) = delete;
 
@@ -366,7 +367,11 @@ class _LIBCPP_TYPE_VIS error_category
 public:
     virtual ~error_category() _NOEXCEPT;
 
+#ifdef _LIBCPP_BUILDING_SYSTEM_ERROR
     error_category() _NOEXCEPT;
+#else
+    _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR_AFTER_CXX11 error_category() 
_NOEXCEPT {}
+#endif
 private:
     error_category(const error_category&);// = delete;
     error_category& operator=(const error_category&);// = delete;

Modified: libcxx/trunk/src/system_error.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/system_error.cpp?rev=188858&r1=188857&r2=188858&view=diff
==============================================================================
--- libcxx/trunk/src/system_error.cpp (original)
+++ libcxx/trunk/src/system_error.cpp Tue Aug 20 21:57:19 2013
@@ -7,6 +7,7 @@
 //
 
//===----------------------------------------------------------------------===//
 
+#define        _LIBCPP_BUILDING_SYSTEM_ERROR
 #include "system_error"
 #include "string"
 #include "cstring"

Modified: libcxx/trunk/www/cxx1y_status.html
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/cxx1y_status.html?rev=188858&r1=188857&r2=188858&view=diff
==============================================================================
--- libcxx/trunk/www/cxx1y_status.html (original)
+++ libcxx/trunk/www/cxx1y_status.html Tue Aug 20 21:57:19 2013
@@ -143,7 +143,7 @@
        <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2094";>2094</a></td><td>duration
 conversion overflow shouldn't participate in overload 
resolution</td><td>Bristol</td><td></td></tr>
        <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2122";>2122</a></td><td>merge()
 stability for lists versus forward lists</td><td>Bristol</td><td></td></tr>
        <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2128";>2128</a></td><td>Absence
 of global functions cbegin/cend</td><td>Bristol</td><td></td></tr>
-       <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2145";>2145</a></td><td>error_category
 default constructor</td><td>Bristol</td><td></td></tr>
+       <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2145";>2145</a></td><td>error_category
 default constructor</td><td>Bristol</td><td>Complete</td></tr>
        <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2147";>2147</a></td><td>Unclear
 hint type in Allocator's allocate function</td><td>Bristol</td><td></td></tr>
        <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2148";>2148</a></td><td>Hashing
 enums should be supported directly by 
std::hash</td><td>Bristol</td><td></td></tr>
        <tr><td><a 
href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2149";>2149</a></td><td>Concerns
 about 20.8/5</td><td>Bristol</td><td></td></tr>


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to