]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/config/test/boost_no_cxx11_thread_local.ipp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / config / test / boost_no_cxx11_thread_local.ipp
1 // (C) Copyright John Maddock 2012.
2 // Use, modification and distribution are subject to the
3 // Boost Software License, Version 1.0. (See accompanying file
4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6 // See http://www.boost.org/libs/config for most recent version.
7
8 // MACRO: BOOST_NO_CXX11_THREAD_LOCAL
9 // TITLE: thread_local
10 // DESCRIPTION: The compiler supports the thread_local storage specifier.
11
12 #include <string>
13
14
15 namespace boost_no_cxx11_thread_local{
16
17 template <class T>
18 int check_local(int n)
19 {
20 static thread_local T s(n, ' ');
21 static thread_local int size = s.size();
22 if(size != n)
23 {
24 s = T(n, ' ');
25 size = n;
26 }
27 return size;
28 }
29
30 int test()
31 {
32 return check_local<std::string>(5) == 5 ? 0 : 1;
33 }
34
35 }
36