Change Windows decoration on some base classes
authorSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 16 Jul 2014 01:00:26 +0000 (01:00 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 16 Jul 2014 01:00:26 +0000 (01:00 +0000)
Mark the base classes for time_get_byname and time_get as _LIBCPP_TYPE_VIS_ONLY
rather than _LIBCPP_TYPE_VIS.  These base classes are templated types and cannot
be stored with export dll storage.

Fixes compilation with _LIBCPP_DLL for Windows when the time_get and
time_get_byname classes are used.

llvm-svn: 213116

libcxx/include/locale

index 8e01630..fcff402 100644 (file)
@@ -1871,7 +1871,7 @@ public:
 };
 
 template <class _CharT>
-class _LIBCPP_TYPE_VIS __time_get_c_storage
+class _LIBCPP_TYPE_VIS_ONLY __time_get_c_storage
 {
 protected:
     typedef basic_string<_CharT> string_type;
@@ -2509,7 +2509,7 @@ protected:
 };
 
 template <class _CharT>
-class _LIBCPP_TYPE_VIS __time_get_storage
+class _LIBCPP_TYPE_VIS_ONLY __time_get_storage
     : public __time_get
 {
 protected: