30 #ifndef _GLIBCXX_PROFILE_PROFILER_STATE_H
31 #define _GLIBCXX_PROFILE_PROFILER_STATE_H 1
33 namespace __gnu_profile
35 enum __state_type { __ON, __OFF, __INVALID };
37 _GLIBCXX_PROFILE_DEFINE_DATA(__state_type, __state, __INVALID);
40 __turn(__state_type __s)
41 {
return (_GLIBCXX_PROFILE_DATA(__state)
42 == __sync_val_compare_and_swap(&_GLIBCXX_PROFILE_DATA(__state),
47 {
return __turn(__ON); }
51 {
return __turn(__OFF); }
55 {
return _GLIBCXX_PROFILE_DATA(__state) == __ON; }
59 {
return _GLIBCXX_PROFILE_DATA(__state) == __OFF; }
63 {
return _GLIBCXX_PROFILE_DATA(__state) == __INVALID; }