mirror of
https://github.com/facebook/zstd.git
synced 2025-07-30 22:23:13 +03:00
FreeBSD_11 specific fix
C11 mandates the definition of timespec_get() and TIME_UTC. However, FreeBSD11 announce C11 compliance, but does not provifr timespec_get(), breaking link stage for benchfn. Since it does not provide TIME_UTC either, which is also required by C11, test this macro: this will automatically rule out FreeBSD 11 for this code path (it will use the backup C90 path instead, based on clock_t). The issue seeems fixed in FreeBSD 12.
This commit is contained in:
@ -57,9 +57,10 @@ extern "C" {
|
||||
typedef PTime UTIL_time_t;
|
||||
#define UTIL_TIME_INITIALIZER 0
|
||||
|
||||
#elif (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */)
|
||||
#elif (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */) \
|
||||
&& defined(TIME_UTC) /* C11 requires timespec_get, but FreeBSD 11 lacks it, while still claiming C11 compliance */
|
||||
|
||||
typedef struct timespec UTIL_time_t; /* C11 defines struct timespes within time.h */
|
||||
typedef struct timespec UTIL_time_t;
|
||||
#define UTIL_TIME_INITIALIZER { 0, 0 }
|
||||
|
||||
#else /* relies on standard C90 (note : clock_t measurements can be wrong when using multi-threading) */
|
||||
|
Reference in New Issue
Block a user