+2017-01-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/68925
+ * include/experimental/random (randint): Use temporary instead of
+ thread_local static.
+
2017-01-17 Joshua Conner <joshconner@google.com>
* crossconfig.m4: Add fuchsia OS.
static_assert(is_integral<_IntType>::value && sizeof(_IntType) > 1,
"argument must be an integer type");
using _Dist = std::uniform_int_distribution<_IntType>;
- static thread_local _Dist __dist;
- return __dist(_S_randint_engine(), typename _Dist::param_type{__a, __b});
+ // This relies on the fact our uniform_int_distribution is stateless,
+ // otherwise we'd need a static thread_local _Dist and pass it
+ // _Dist::param_type{__a, __b}.
+ return _Dist(__a, __b)(_S_randint_engine());
}
inline void