[cfe-commits] [libcxx] r170137 - in /libcxx/branches/release_32: ./ include/ src/ test/language.support/support.limits/limits/numeric.limits.members/ test/localization/locale.categories/category.ctype/ test/localization/locale.categories/category.monetary/locale.moneypunct/ test/localization/locales/locale/locale.types/locale.category/ test/numerics/rand/rand.adapt/rand.adapt.disc/ test/numerics/rand/rand.adapt/rand.adapt.shuf/ test/numerics/rand/rand.eng/rand.eng.lcong/ test/numerics/rand/rand.eng/rand.eng.mers/ test...
Pawel Wodnicki
pawel at 32bitmicro.com
Thu Dec 13 08:31:32 PST 2012
Author: pawel
Date: Thu Dec 13 10:31:31 2012
New Revision: 170137
URL: http://llvm.org/viewvc/llvm-project?rev=170137&view=rev
Log:
Merging r170026: into the 3.2 release branch.
Zhang Xiongpang: Add definitions for const data members. Fixes http://llvm.org/bugs/show_bug.cgi?id=14585.
Added:
libcxx/branches/release_32/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
- copied unchanged from r170026, libcxx/trunk/test/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
Modified:
libcxx/branches/release_32/ (props changed)
libcxx/branches/release_32/include/limits
libcxx/branches/release_32/include/locale
libcxx/branches/release_32/include/random
libcxx/branches/release_32/include/regex
libcxx/branches/release_32/src/chrono.cpp
libcxx/branches/release_32/src/locale.cpp
libcxx/branches/release_32/test/localization/locale.categories/category.ctype/ctype_base.pass.cpp
libcxx/branches/release_32/test/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
libcxx/branches/release_32/test/localization/locales/locale/locale.types/locale.category/category.pass.cpp
libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp
libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp
libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp
libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp
libcxx/branches/release_32/test/re/re.regex/re.regex.const/constants.pass.cpp
libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
Propchange: libcxx/branches/release_32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 13 10:31:31 2012
@@ -1 +1,2 @@
/libcxx/branches/apple:136569-137939
+/libcxx/trunk:170026
Modified: libcxx/branches/release_32/include/limits
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/include/limits?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/include/limits (original)
+++ libcxx/branches/release_32/include/limits Thu Dec 13 10:31:31 2012
@@ -479,6 +479,53 @@
};
template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_specialized;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::digits;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::max_digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_signed;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_integer;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_exact;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::radix;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::min_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::min_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::max_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<_Tp>::max_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_infinity;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_quiet_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_signaling_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<_Tp>::has_denorm;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::has_denorm_loss;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_iec559;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_bounded;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::is_modulo;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::traps;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<_Tp>::tinyness_before;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_round_style numeric_limits<_Tp>::round_style;
+
+template <class _Tp>
class _LIBCPP_VISIBLE numeric_limits<const _Tp>
: private numeric_limits<_Tp>
{
@@ -525,6 +572,53 @@
};
template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_specialized;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::digits;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::max_digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_signed;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_integer;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_exact;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::radix;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::min_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::min_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::max_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const _Tp>::max_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_infinity;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_quiet_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_signaling_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<const _Tp>::has_denorm;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::has_denorm_loss;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_iec559;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_bounded;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::is_modulo;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::traps;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const _Tp>::tinyness_before;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_round_style numeric_limits<const _Tp>::round_style;
+
+template <class _Tp>
class _LIBCPP_VISIBLE numeric_limits<volatile _Tp>
: private numeric_limits<_Tp>
{
@@ -571,6 +665,53 @@
};
template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_specialized;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::digits;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::max_digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_signed;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_integer;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_exact;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::radix;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::min_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::min_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::max_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<volatile _Tp>::max_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_infinity;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_quiet_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_signaling_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<volatile _Tp>::has_denorm;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::has_denorm_loss;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_iec559;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_bounded;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::is_modulo;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::traps;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<volatile _Tp>::tinyness_before;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_round_style numeric_limits<volatile _Tp>::round_style;
+
+template <class _Tp>
class _LIBCPP_VISIBLE numeric_limits<const volatile _Tp>
: private numeric_limits<_Tp>
{
@@ -616,6 +757,53 @@
static _LIBCPP_CONSTEXPR const float_round_style round_style = __base::round_style;
};
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_specialized;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::digits;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::digits10;
+template <class _Tp>
+ const int numeric_limits<const volatile _Tp>::max_digits10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_signed;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_integer;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_exact;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::radix;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::min_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::min_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::max_exponent;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const int numeric_limits<const volatile _Tp>::max_exponent10;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_infinity;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_quiet_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_signaling_NaN;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_denorm_style numeric_limits<const volatile _Tp>::has_denorm;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::has_denorm_loss;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_iec559;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_bounded;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::is_modulo;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::traps;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const bool numeric_limits<const volatile _Tp>::tinyness_before;
+template <class _Tp>
+ _LIBCPP_CONSTEXPR const float_round_style numeric_limits<const volatile _Tp>::round_style;
+
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_LIMITS
Modified: libcxx/branches/release_32/include/locale
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/include/locale?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/include/locale (original)
+++ libcxx/branches/release_32/include/locale Thu Dec 13 10:31:31 2012
@@ -2885,6 +2885,10 @@
locale::id
moneypunct<_CharT, _International>::id;
+template <class _CharT, bool _International>
+const bool
+moneypunct<_CharT, _International>::intl;
+
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<char, false>)
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<char, true>)
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<wchar_t, false>)
Modified: libcxx/branches/release_32/include/random
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/include/random?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/include/random (original)
+++ libcxx/branches/release_32/include/random Thu Dec 13 10:31:31 2012
@@ -1931,6 +1931,22 @@
};
template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
+ _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
+ linear_congruential_engine<_UIntType, __a, __c, __m>::multiplier;
+
+template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
+ _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
+ linear_congruential_engine<_UIntType, __a, __c, __m>::increment;
+
+template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
+ _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
+ linear_congruential_engine<_UIntType, __a, __c, __m>::modulus;
+
+template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
+ _LIBCPP_CONSTEXPR const typename linear_congruential_engine<_UIntType, __a, __c, __m>::result_type
+ linear_congruential_engine<_UIntType, __a, __c, __m>::default_seed;
+
+template <class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
template<class _Sseq>
void
linear_congruential_engine<_UIntType, __a, __c, __m>::__seed(_Sseq& __q,
@@ -2230,6 +2246,90 @@
template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
_UIntType __a, size_t __u, _UIntType __d, size_t __s,
_UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::word_size;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::state_size;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::shift_size;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::mask_bits;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::xor_mask;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_u;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_d;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_s;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_b;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_t;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_c;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const size_t
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::tempering_l;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::initialization_multiplier;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
+ _LIBCPP_CONSTEXPR const typename mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::result_type
+ mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::default_seed;
+
+template <class _UIntType, size_t __w, size_t __n, size_t __m, size_t __r,
+ _UIntType __a, size_t __u, _UIntType __d, size_t __s,
+ _UIntType __b, size_t __t, _UIntType __c, size_t __l, _UIntType __f>
void
mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b,
__t, __c, __l, __f>::seed(result_type __sd)
@@ -2552,6 +2652,19 @@
};
template<class _UIntType, size_t __w, size_t __s, size_t __r>
+ _LIBCPP_CONSTEXPR const size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::word_size;
+
+template<class _UIntType, size_t __w, size_t __s, size_t __r>
+ _LIBCPP_CONSTEXPR const size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::short_lag;
+
+template<class _UIntType, size_t __w, size_t __s, size_t __r>
+ _LIBCPP_CONSTEXPR const size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::long_lag;
+
+template<class _UIntType, size_t __w, size_t __s, size_t __r>
+ _LIBCPP_CONSTEXPR const typename subtract_with_carry_engine<_UIntType, __w, __s, __r>::result_type
+ subtract_with_carry_engine<_UIntType, __w, __s, __r>::default_seed;
+
+template<class _UIntType, size_t __w, size_t __s, size_t __r>
void
subtract_with_carry_engine<_UIntType, __w, __s, __r>::seed(result_type __sd,
integral_constant<unsigned, 1>)
@@ -2823,6 +2936,12 @@
};
template<class _Engine, size_t __p, size_t __r>
+ _LIBCPP_CONSTEXPR const size_t discard_block_engine<_Engine, __p, __r>::block_size;
+
+template<class _Engine, size_t __p, size_t __r>
+ _LIBCPP_CONSTEXPR const size_t discard_block_engine<_Engine, __p, __r>::used_block;
+
+template<class _Engine, size_t __p, size_t __r>
typename discard_block_engine<_Engine, __p, __r>::result_type
discard_block_engine<_Engine, __p, __r>::operator()()
{
@@ -3314,6 +3433,9 @@
}
};
+template<class _Engine, size_t __k>
+ _LIBCPP_CONSTEXPR const size_t shuffle_order_engine<_Engine, __k>::table_size;
+
template<class _Eng, size_t _Kp>
bool
operator==(
Modified: libcxx/branches/release_32/include/regex
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/include/regex?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/include/regex (original)
+++ libcxx/branches/release_32/include/regex Thu Dec 13 10:31:31 2012
@@ -2843,6 +2843,27 @@
};
template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::icase;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::nosubs;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::optimize;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::collate;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::ECMAScript;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::basic;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::extended;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::awk;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::grep;
+template <class _CharT, class _Traits>
+ const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::egrep;
+
+template <class _CharT, class _Traits>
void
basic_regex<_CharT, _Traits>::swap(basic_regex& __r)
{
Modified: libcxx/branches/release_32/src/chrono.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/src/chrono.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/src/chrono.cpp (original)
+++ libcxx/branches/release_32/src/chrono.cpp Thu Dec 13 10:31:31 2012
@@ -24,6 +24,8 @@
// system_clock
+const bool system_clock::is_steady;
+
system_clock::time_point
system_clock::now() _NOEXCEPT
{
@@ -46,6 +48,8 @@
// steady_clock
+const bool steady_clock::is_steady;
+
#if __APPLE__
// mach_absolute_time() * MachInfo.numer / MachInfo.denom is the number of
// nanoseconds since the computer booted up. MachInfo.numer and MachInfo.denom
Modified: libcxx/branches/release_32/src/locale.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/src/locale.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/src/locale.cpp (original)
+++ libcxx/branches/release_32/src/locale.cpp Thu Dec 13 10:31:31 2012
@@ -83,6 +83,15 @@
}
+const locale::category locale::none;
+const locale::category locale::collate;
+const locale::category locale::ctype;
+const locale::category locale::monetary;
+const locale::category locale::numeric;
+const locale::category locale::time;
+const locale::category locale::messages;
+const locale::category locale::all;
+
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wpadded"
@@ -691,6 +700,19 @@
// template <> class ctype<wchar_t>;
+const ctype_base::mask ctype_base::space;
+const ctype_base::mask ctype_base::print;
+const ctype_base::mask ctype_base::cntrl;
+const ctype_base::mask ctype_base::upper;
+const ctype_base::mask ctype_base::lower;
+const ctype_base::mask ctype_base::alpha;
+const ctype_base::mask ctype_base::digit;
+const ctype_base::mask ctype_base::punct;
+const ctype_base::mask ctype_base::xdigit;
+const ctype_base::mask ctype_base::blank;
+const ctype_base::mask ctype_base::alnum;
+const ctype_base::mask ctype_base::graph;
+
locale::id ctype<wchar_t>::id;
ctype<wchar_t>::~ctype()
Modified: libcxx/branches/release_32/test/localization/locale.categories/category.ctype/ctype_base.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/localization/locale.categories/category.ctype/ctype_base.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/localization/locale.categories/category.ctype/ctype_base.pass.cpp (original)
+++ libcxx/branches/release_32/test/localization/locale.categories/category.ctype/ctype_base.pass.cpp Thu Dec 13 10:31:31 2012
@@ -31,6 +31,9 @@
#include <locale>
#include <cassert>
+template <class _Tp>
+void test(const _Tp &) {}
+
int main()
{
assert(std::ctype_base::space);
@@ -54,4 +57,17 @@
& std::ctype_base::xdigit) == 0);
assert(std::ctype_base::alnum == (std::ctype_base::alpha | std::ctype_base::digit));
assert(std::ctype_base::graph == (std::ctype_base::alnum | std::ctype_base::punct));
+
+ test(std::ctype_base::space);
+ test(std::ctype_base::print);
+ test(std::ctype_base::cntrl);
+ test(std::ctype_base::upper);
+ test(std::ctype_base::lower);
+ test(std::ctype_base::alpha);
+ test(std::ctype_base::digit);
+ test(std::ctype_base::punct);
+ test(std::ctype_base::xdigit);
+ test(std::ctype_base::blank);
+ test(std::ctype_base::alnum);
+ test(std::ctype_base::graph);
}
Modified: libcxx/branches/release_32/test/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp (original)
+++ libcxx/branches/release_32/test/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp Thu Dec 13 10:31:31 2012
@@ -17,10 +17,14 @@
// public:
// typedef _CharT char_type;
// typedef basic_string<char_type> string_type;
+// static const bool intl = International;
#include <locale>
#include <type_traits>
+template <class _Tp>
+void test(const _Tp &) {}
+
int main()
{
static_assert((std::is_base_of<std::locale::facet, std::moneypunct<char> >::value), "");
@@ -31,4 +35,9 @@
static_assert((std::is_same<std::moneypunct<wchar_t>::char_type, wchar_t>::value), "");
static_assert((std::is_same<std::moneypunct<char>::string_type, std::string>::value), "");
static_assert((std::is_same<std::moneypunct<wchar_t>::string_type, std::wstring>::value), "");
+
+ test(std::moneypunct<char, false>::intl);
+ test(std::moneypunct<char, true>::intl);
+ test(std::moneypunct<wchar_t, false>::intl);
+ test(std::moneypunct<wchar_t, true>::intl);
}
Modified: libcxx/branches/release_32/test/localization/locales/locale/locale.types/locale.category/category.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/localization/locales/locale/locale.types/locale.category/category.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/localization/locales/locale/locale.types/locale.category/category.pass.cpp (original)
+++ libcxx/branches/release_32/test/localization/locales/locale/locale.types/locale.category/category.pass.cpp Thu Dec 13 10:31:31 2012
@@ -15,6 +15,10 @@
#include <type_traits>
#include <cassert>
+template <class _Tp>
+void test(const _Tp &) {}
+
+
int main()
{
static_assert((std::is_same<std::locale::category, int>::value), "");
@@ -38,4 +42,13 @@
| std::locale::time
| std::locale::messages)
== std::locale::all);
+
+ test(std::locale::none);
+ test(std::locale::collate);
+ test(std::locale::ctype);
+ test(std::locale::monetary);
+ test(std::locale::numeric);
+ test(std::locale::time);
+ test(std::locale::messages);
+ test(std::locale::all);
}
Modified: libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp (original)
+++ libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp Thu Dec 13 10:31:31 2012
@@ -26,6 +26,9 @@
#include <type_traits>
#include <cassert>
+template <class _Tp>
+void where(const _Tp &) {}
+
void
test1()
{
@@ -34,6 +37,8 @@
static_assert((E::used_block == 23), "");
/*static_*/assert((E::min() == 0)/*, ""*/);
/*static_*/assert((E::max() == 0xFFFFFF)/*, ""*/);
+ where(E::block_size);
+ where(E::used_block);
}
void
@@ -44,6 +49,8 @@
static_assert((E::used_block == 11), "");
/*static_*/assert((E::min() == 0)/*, ""*/);
/*static_*/assert((E::max() == 0xFFFFFFFFFFFFull)/*, ""*/);
+ where(E::block_size);
+ where(E::used_block);
}
int main()
Modified: libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp (original)
+++ libcxx/branches/release_32/test/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp Thu Dec 13 10:31:31 2012
@@ -25,6 +25,9 @@
#include <type_traits>
#include <cassert>
+template <class _Tp>
+void where(const _Tp &) {}
+
void
test1()
{
@@ -32,6 +35,7 @@
static_assert(E::table_size == 256, "");
/*static_*/assert((E::min() == 1)/*, ""*/);
/*static_*/assert((E::max() == 2147483646)/*, ""*/);
+ where(E::table_size);
}
int main()
Modified: libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp (original)
+++ libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp Thu Dec 13 10:31:31 2012
@@ -25,6 +25,9 @@
#include <type_traits>
#include <cassert>
+template <class _Tp>
+void where(const _Tp &) {}
+
template <class T, T a, T c, T m>
void
test1()
@@ -37,6 +40,10 @@
/*static_*/assert((LCE::min() == (c == 0u ? 1u: 0u))/*, ""*/);
/*static_*/assert((LCE::max() == result_type(m - 1u))/*, ""*/);
static_assert((LCE::default_seed == 1), "");
+ where(LCE::multiplier);
+ where(LCE::increment);
+ where(LCE::modulus);
+ where(LCE::default_seed);
}
template <class T>
Modified: libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp (original)
+++ libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp Thu Dec 13 10:31:31 2012
@@ -40,6 +40,9 @@
#include <type_traits>
#include <cassert>
+template <class _Tp>
+void where(const _Tp &) {}
+
void
test1()
{
@@ -60,6 +63,20 @@
/*static_*/assert((E::min() == 0)/*, ""*/);
/*static_*/assert((E::max() == 0xFFFFFFFF)/*, ""*/);
static_assert((E::default_seed == 5489u), "");
+ where(E::word_size);
+ where(E::state_size);
+ where(E::shift_size);
+ where(E::mask_bits);
+ where(E::xor_mask);
+ where(E::tempering_u);
+ where(E::tempering_d);
+ where(E::tempering_s);
+ where(E::tempering_b);
+ where(E::tempering_t);
+ where(E::tempering_c);
+ where(E::tempering_l);
+ where(E::initialization_multiplier);
+ where(E::default_seed);
}
void
@@ -82,6 +99,20 @@
/*static_*/assert((E::min() == 0)/*, ""*/);
/*static_*/assert((E::max() == 0xFFFFFFFFFFFFFFFFull)/*, ""*/);
static_assert((E::default_seed == 5489u), "");
+ where(E::word_size);
+ where(E::state_size);
+ where(E::shift_size);
+ where(E::mask_bits);
+ where(E::xor_mask);
+ where(E::tempering_u);
+ where(E::tempering_d);
+ where(E::tempering_s);
+ where(E::tempering_b);
+ where(E::tempering_t);
+ where(E::tempering_c);
+ where(E::tempering_l);
+ where(E::initialization_multiplier);
+ where(E::default_seed);
}
int main()
Modified: libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp (original)
+++ libcxx/branches/release_32/test/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp Thu Dec 13 10:31:31 2012
@@ -28,6 +28,9 @@
#include <type_traits>
#include <cassert>
+template <class _Tp>
+void where(const _Tp &) {}
+
void
test1()
{
@@ -38,6 +41,10 @@
/*static_*/assert((E::min() == 0)/*, ""*/);
/*static_*/assert((E::max() == 0xFFFFFF)/*, ""*/);
static_assert((E::default_seed == 19780503u), "");
+ where(E::word_size);
+ where(E::short_lag);
+ where(E::long_lag);
+ where(E::default_seed);
}
void
@@ -50,6 +57,10 @@
/*static_*/assert((E::min() == 0)/*, ""*/);
/*static_*/assert((E::max() == 0xFFFFFFFFFFFFull)/*, ""*/);
static_assert((E::default_seed == 19780503u), "");
+ where(E::word_size);
+ where(E::short_lag);
+ where(E::long_lag);
+ where(E::default_seed);
}
int main()
Modified: libcxx/branches/release_32/test/re/re.regex/re.regex.const/constants.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/re/re.regex/re.regex.const/constants.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/re/re.regex/re.regex.const/constants.pass.cpp (original)
+++ libcxx/branches/release_32/test/re/re.regex/re.regex.const/constants.pass.cpp Thu Dec 13 10:31:31 2012
@@ -28,6 +28,9 @@
#include <regex>
#include <type_traits>
+template <class _Tp>
+void where(const _Tp &) {}
+
template <class CharT>
void
test()
@@ -43,6 +46,16 @@
static_assert((BR::awk == std::regex_constants::awk), "");
static_assert((BR::grep == std::regex_constants::grep), "");
static_assert((BR::egrep == std::regex_constants::egrep), "");
+ where(BR::icase);
+ where(BR::nosubs);
+ where(BR::optimize);
+ where(BR::collate);
+ where(BR::ECMAScript);
+ where(BR::basic);
+ where(BR::extended);
+ where(BR::awk);
+ where(BR::grep);
+ where(BR::egrep);
}
int main()
Modified: libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp (original)
+++ libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp Thu Dec 13 10:31:31 2012
@@ -15,6 +15,9 @@
#include <chrono>
+template <class _Tp>
+void test(const _Tp &) {}
+
int main()
{
typedef std::chrono::high_resolution_clock C;
@@ -22,4 +25,5 @@
static_assert((std::is_same<C::period, C::duration::period>::value), "");
static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
static_assert(C::is_steady || !C::is_steady, "");
+ test(std::chrono::high_resolution_clock::is_steady);
}
Modified: libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp (original)
+++ libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp Thu Dec 13 10:31:31 2012
@@ -15,6 +15,9 @@
#include <chrono>
+template <class _Tp>
+void test(const _Tp &) {}
+
int main()
{
typedef std::chrono::steady_clock C;
@@ -22,4 +25,5 @@
static_assert((std::is_same<C::period, C::duration::period>::value), "");
static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
static_assert(C::is_steady, "");
+ test(std::chrono::steady_clock::is_steady);
}
Modified: libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp?rev=170137&r1=170136&r2=170137&view=diff
==============================================================================
--- libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp (original)
+++ libcxx/branches/release_32/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp Thu Dec 13 10:31:31 2012
@@ -15,6 +15,9 @@
#include <chrono>
+template <class _Tp>
+void test(const _Tp &) {}
+
int main()
{
typedef std::chrono::system_clock C;
@@ -23,4 +26,5 @@
static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
static_assert((std::is_same<C::time_point::clock, C>::value), "");
static_assert((C::is_steady || !C::is_steady), "");
+ test(std::chrono::system_clock::is_steady);
}
More information about the cfe-commits
mailing list