diff --git a/include/boost/spirit/home/classic/core/non_terminal/impl/static.hpp b/include/boost/spirit/home/classic/core/non_terminal/impl/static.hpp
index ae2a66c50..c78365e79 100644
a
|
b
|
|
15 | 15 | #include <boost/type_traits/add_pointer.hpp> |
16 | 16 | #include <boost/type_traits/alignment_of.hpp> |
17 | 17 | |
| 18 | #ifdef BOOST_DISABLE_THREADS |
18 | 19 | #include <boost/thread/once.hpp> |
| 20 | #endif |
19 | 21 | |
20 | 22 | #include <memory> // for placement new |
21 | 23 | |
… |
… |
BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
|
69 | 71 | |
70 | 72 | static_(Tag = Tag()) |
71 | 73 | { |
| 74 | #ifdef BOOST_DISABLE_THREADS |
72 | 75 | boost::call_once(&default_ctor::construct, constructed_); |
| 76 | #endif |
73 | 77 | } |
74 | 78 | |
75 | 79 | operator reference() |
… |
… |
BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
|
110 | 114 | template <class T, class Tag> |
111 | 115 | typename static_<T, Tag>::storage_type static_<T, Tag>::data_; |
112 | 116 | |
| 117 | #ifdef BOOST_DISABLE_THREADS |
113 | 118 | template <class T, class Tag> |
114 | 119 | #ifndef BOOST_THREAD_PROVIDES_ONCE_CXX11 |
115 | 120 | once_flag static_<T, Tag>::constructed_ = BOOST_ONCE_INIT; |
116 | 121 | #else |
117 | 122 | once_flag static_<T, Tag>::constructed_; |
118 | 123 | #endif |
| 124 | #endif |
119 | 125 | |
120 | 126 | BOOST_SPIRIT_CLASSIC_NAMESPACE_END |
121 | 127 | |