FS-9152 [avmd] #fix warnings on FreeBSD

Use function __isnan to avoid __Generic
type extension on FreeBSD. Clang 3.4.1 complains
about -Wc++11-extensions even when it has them
defined.
This commit is contained in:
Piotr Gregor 2016-05-12 01:09:12 +01:00
parent 6cc31acf7e
commit 0a5145133b
3 changed files with 14 additions and 5 deletions

View File

@ -5,8 +5,11 @@
#ifdef WIN32
#include <float.h>
#define ISNAN(x) (!!(_isnan(x)))
#define ISINF(x) (isinf(x))
#else
#define ISNAN(x) (isnan(x))
int __isnan(double);
#define ISNAN(x) (__isnan(x))
#define ISINF(x) (__isinf(x))
#endif
#include "avmd_buffer.h"
#include "avmd_desa2.h"

View File

@ -5,8 +5,11 @@
#ifdef WIN32
#include <float.h>
#define ISNAN(x) (!!(_isnan(x)))
#define ISINF(x) (isinf(x))
#else
#define ISNAN(x) (isnan(x))
int __isnan(double);
#define ISNAN(x) (__isnan(x))
#define ISINF(x) (__isinf(x))
#endif
#include "avmd_buffer.h"
#include "avmd_desa2_tweaked.h"
@ -48,7 +51,7 @@ avmd_desa2_tweaked(circ_buffer_t *b, size_t i)
we do simplified, modified for speed version : */
result = n/d;
if (isinf(result)) {
if (ISINF(result)) {
if (n < 0.0)
return -10.0;
else

View File

@ -38,8 +38,11 @@
#ifdef WIN32
#include <float.h>
#define ISNAN(x) (!!(_isnan(x)))
#define ISINF(x) (isinf(x))
#else
#define ISNAN(x) (isnan(x))
int __isnan(double);
#define ISNAN(x) (__isnan(x))
#define ISINF(x) (__isinf(x))
#endif
@ -1471,7 +1474,7 @@ static void avmd_process(avmd_session_t *s, switch_frame_t *frame)
sample_to_skip_n = AVMD_SAMLPE_TO_SKIP_N;
#endif
} else {
if (isnan(omega)) {
if (ISNAN(omega)) {
#ifdef AVMD_DEBUG
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(s->session),
SWITCH_LOG_DEBUG, "<<< AVMD, SKIP NaN >>>\n");