ObjFW  Check-in [d0f3116147]

Overview
Comment:Work around buggy thread_local on AIX
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: d0f3116147cd854a260a78b5c406d53e4cf397f8034837abddccc7aff91dcd22
User & Date: js on 2019-01-27 16:20:31
Other Links: manifest | tags
Context
2019-01-27
19:56
objfw-compile: Properly create .bundles check-in: 181138c873 user: js tags: trunk
16:20
Work around buggy thread_local on AIX check-in: d0f3116147 user: js tags: trunk
16:13
atomic.h: Don't use assembly implementation on AIX check-in: 4a6d9cd210 user: js tags: trunk
Changes

Modified src/macros.h from [17a538a6f0] to [ac7aa6dc5d].

59
60
61
62
63
64
65





66
67
68
69
70
71
72
# define static_assert _Static_assert
#endif

#if defined(OF_HAVE__THREAD_LOCAL)
# define OF_HAVE_COMPILER_TLS
# ifdef OF_HAVE_THREADS_H
#  include <threads.h>





# else
#  define thread_local _Thread_local
# endif
#elif defined(OF_HAVE___THREAD)
# define OF_HAVE_COMPILER_TLS
# define thread_local __thread
#endif







>
>
>
>
>







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# define static_assert _Static_assert
#endif

#if defined(OF_HAVE__THREAD_LOCAL)
# define OF_HAVE_COMPILER_TLS
# ifdef OF_HAVE_THREADS_H
#  include <threads.h>
#  ifdef OF_AIX
/* AIX has a bug where thread_local is defined to "Thread_local;". */
#   undef thread_local
#   define thread_local _Thread_local
#  endif
# else
#  define thread_local _Thread_local
# endif
#elif defined(OF_HAVE___THREAD)
# define OF_HAVE_COMPILER_TLS
# define thread_local __thread
#endif