c11/threads: don't include assert.h if the assert macro is already defined
authorBrian Paul <brianp@vmware.com>
Tue, 18 Mar 2014 23:25:07 +0000 (17:25 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 19 Mar 2014 23:13:31 +0000 (17:13 -0600)
commiteaf9affa5ec9c5fd919e4207ab80b4677650ac67
tree2db47edbaed792c0783a0b017b8556c1623ddaa3
parente58071355e944138e01939df57f79affca24dec7
c11/threads: don't include assert.h if the assert macro is already defined

In the gallium code, the assert() macro could come from either the
system's assert.h file (via c11/threads.h) or from gallium's u_debug.h.
It looks like all known assert.h files unconditionally #undef assert
before defining their own version.  So the assert you get depends on
whether threads.h or u_debug.h was included last.

In the gallium code we really want to use the assert() from u_debug.h
(it behaves better on Windows).  In gallium, c11/threads.h is only
included after u_debug.h in the os_thread.h wrapper.  So Adding
an #ifndef assert test in the threads*.h files avoids using the system's
assert().

Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
include/c11/threads_posix.h
include/c11/threads_win32.h