We're now more or less C99 compliant
* Version 0.4 Leaky Normalized LMS - pre whitening algorithm
*/
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
#include <math.h>
#include <string.h>
#include <stdint.h>
#include <pulsecore/source.h>
#include <pulsecore/core-util.h>
#include <pulsecore/log.h>
+#include <pulsecore/macro.h>
#include <pulsecore/modargs.h>
#include <pulsecore/dbus-shared.h>
#include <pulsecore/namereg.h>
pa_atomic_ptr_t stored;
/* Stack that contains empty list elements */
pa_atomic_ptr_t empty;
- pa_flist_elem table[0];
+ pa_flist_elem table[];
};
/* Lock free pop from linked list stack */
#define PA_DECLARE_ALIGNED(n,t,v) t v
#endif
+#ifdef __GNUC__
+#define typeof __typeof__
+#endif
+
/* The users of PA_MIN and PA_MAX, PA_CLAMP, PA_ROUND_UP should be
* aware that these macros on non-GCC executed code with side effects
* twice. It is thus considered misuse to use code with side effects
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
#include <assert.h>
#include <inttypes.h>
#include <time.h>