diff options
author | Brian Paul <[email protected]> | 2014-03-18 17:25:07 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2014-03-19 17:13:31 -0600 |
commit | eaf9affa5ec9c5fd919e4207ab80b4677650ac67 (patch) | |
tree | 2db47edbaed792c0783a0b017b8556c1623ddaa3 /include | |
parent | e58071355e944138e01939df57f79affca24dec7 (diff) |
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" <[email protected]>
Reviewed-by: José Fonseca <[email protected]>
Diffstat (limited to 'include')
-rw-r--r-- | include/c11/threads_posix.h | 2 | ||||
-rw-r--r-- | include/c11/threads_win32.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h index 7e96715c248..f9c165df4e0 100644 --- a/include/c11/threads_posix.h +++ b/include/c11/threads_posix.h @@ -27,7 +27,9 @@ * DEALINGS IN THE SOFTWARE. */ #include <stdlib.h> +#ifndef assert #include <assert.h> +#endif #include <limits.h> #include <errno.h> #include <unistd.h> diff --git a/include/c11/threads_win32.h b/include/c11/threads_win32.h index d4c2a72d277..5298a84321d 100644 --- a/include/c11/threads_win32.h +++ b/include/c11/threads_win32.h @@ -26,7 +26,9 @@ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ +#ifndef assert #include <assert.h> +#endif #include <limits.h> #include <errno.h> #include <process.h> // MSVCRT |