diff options
author | Chris Robinson <[email protected]> | 2011-05-02 17:06:32 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2011-05-02 17:06:32 -0700 |
commit | 24aaa24b5c39db0a204b7ed78d5bbc154563dd0a (patch) | |
tree | 32144e38d2087add9d82b264822d4417f0c8cfe7 | |
parent | fd795a7eebf3259c01e409495b61487a4e706b88 (diff) |
Check for the C99 restrict keyword
GCC does not default to C99 mode yet, so does not know restrict, however it
still allows using __restrict in its place
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 8 | ||||
-rw-r--r-- | config.h.in | 6 |
3 files changed, 20 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 78110594..a4d4c254 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,6 +66,12 @@ CHECK_TYPE_SIZE("unsigned int" SIZEOF_UINT) CHECK_TYPE_SIZE("void*" SIZEOF_VOIDP) +CHECK_C_SOURCE_COMPILES("int *restrict foo; + int main() {return 0;}" HAVE_RESTRICT) +CHECK_C_SOURCE_COMPILES("int *__restrict foo; + int main() {return 0;}" HAVE___RESTRICT) + + # Add definitions, compiler switches, etc. INCLUDE_DIRECTORIES(OpenAL32/Include include "${OpenAL_BINARY_DIR}") diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 09b85baf..aa1b50a1 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -171,6 +171,14 @@ typedef unsigned long long ALuint64; #define PRINTF_STYLE(x, y) #endif +#if defined(HAVE_RESTRICT) +#define RESTRICT restrict +#elif defined(HAVE___RESTRICT) +#define RESTRICT __restrict +#else +#define RESTRICT +#endif + #ifdef _WIN32 #ifndef _WIN32_WINNT diff --git a/config.h.in b/config.h.in index c031ce45..f14ecb52 100644 --- a/config.h.in +++ b/config.h.in @@ -97,4 +97,10 @@ /* Define if we have pthread_setschedparam() */ #cmakedefine HAVE_PTHREAD_SETSCHEDPARAM +/* Define if we have the restrict keyword */ +#cmakedefine HAVE_RESTRICT + +/* Define if we have the __restrict keyword */ +#cmakedefine HAVE___RESTRICT + #endif |