visibility-decoration.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114486 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/chrono b/include/chrono
index 1c79c68..4effbc4 100644
--- a/include/chrono
+++ b/include/chrono
@@ -262,7 +262,7 @@
namespace chrono
{
-template <class _Rep, class _Period = ratio<1> > class duration;
+template <class _Rep, class _Period = ratio<1> > class _LIBCPP_VISIBLE duration;
template <class _Tp>
struct __is_duration : false_type {};
@@ -282,7 +282,8 @@
} // chrono
template <class _Rep1, class _Period1, class _Rep2, class _Period2>
-struct common_type<chrono::duration<_Rep1, _Period1>, chrono::duration<_Rep2, _Period2> >
+struct _LIBCPP_VISIBLE common_type<chrono::duration<_Rep1, _Period1>,
+ chrono::duration<_Rep2, _Period2> >
{
typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type,
typename __ratio_gcd<_Period1, _Period2>::type> type;
@@ -357,10 +358,11 @@
return __duration_cast<duration<_Rep, _Period>, _ToDuration>()(__fd);
}
-template <class _Rep> struct treat_as_floating_point : is_floating_point<_Rep> {};
+template <class _Rep>
+struct _LIBCPP_VISIBLE treat_as_floating_point : is_floating_point<_Rep> {};
template <class _Rep>
-struct duration_values
+struct _LIBCPP_VISIBLE duration_values
{
public:
_LIBCPP_INLINE_VISIBILITY static _Rep zero() {return _Rep(0);}
@@ -371,7 +373,7 @@
// duration
template <class _Rep, class _Period>
-class duration
+class _LIBCPP_VISIBLE duration
{
static_assert(!__is_duration<_Rep>::value, "A duration representation can not be a duration");
static_assert(__is_ratio<_Period>::value, "Second template parameter of duration must be a std::ratio");
@@ -667,7 +669,7 @@
//////////////////////////////////////////////////////////
template <class _Clock, class _Duration = typename _Clock::duration>
-class time_point
+class _LIBCPP_VISIBLE time_point
{
static_assert(__is_duration<_Duration>::value,
"Second template parameter of time_point must be a std::chrono::duration");
@@ -711,7 +713,8 @@
} // chrono
template <class _Clock, class _Duration1, class _Duration2>
-struct common_type<chrono::time_point<_Clock, _Duration1>, chrono::time_point<_Clock, _Duration2> >
+struct _LIBCPP_VISIBLE common_type<chrono::time_point<_Clock, _Duration1>,
+ chrono::time_point<_Clock, _Duration2> >
{
typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type;
};
@@ -833,7 +836,7 @@
/////////////////////// clocks ///////////////////////////
//////////////////////////////////////////////////////////
-class system_clock
+class _LIBCPP_VISIBLE system_clock
{
public:
typedef microseconds duration;
@@ -847,7 +850,7 @@
static time_point from_time_t(time_t __t);
};
-class monotonic_clock
+class _LIBCPP_VISIBLE monotonic_clock
{
public:
typedef nanoseconds duration;