liquid-dsp: wrapping isnan in T_ABS to help compilation w/ certain gcc
Backporting an upstreamed patch in order to fix a build failure like
this one:
In file included from src/math/src/polyc.c:43:0:
src/math/src/poly.findroots.c: In function
'polyc_findroots_bairstow_recursion':
src/math/src/poly.findroots.c:305:9: error: non-floating-point argument
in call to function '__builtin_isnan'
if (isnan(du) || isnan(dv)) {
Upstream commit URL:
3055eb3da9
Fixes:
http://autobuild.buildroot.net/results/01d/01d7d4f34b256bcdf30b16180c015f146bd50e63/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
[Thomas: tweak patch format.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
012e10bf62
commit
917fa2ca23
@ -0,0 +1,39 @@
|
||||
From 3055eb3da9d0a202c1a975f7db0c8370a09a30bc Mon Sep 17 00:00:00 2001
|
||||
From: "Joseph D. Gaeddert" <joseph@liquidsdr.org>
|
||||
Date: Thu, 25 Feb 2016 17:47:07 -0500
|
||||
Subject: [PATCH] math/poly: wrapping isnan in T_ABS to help compilation w/
|
||||
certain gcc versions
|
||||
|
||||
This is an upstreamed patch backported from here:
|
||||
|
||||
https://github.com/jgaeddert/liquid-dsp/commit/3055eb3da9d0a202c1a975f7db0c8370a09a30bc
|
||||
|
||||
It fixes the following error:
|
||||
|
||||
src/math/src/poly.findroots.c: In function
|
||||
'polyc_findroots_bairstow_recursion':
|
||||
src/math/src/poly.findroots.c:305:9: error: non-floating-point argument
|
||||
in call to function '__builtin_isnan'
|
||||
if (isnan(du) || isnan(dv)) {
|
||||
|
||||
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
---
|
||||
src/math/src/poly.findroots.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/math/src/poly.findroots.c b/src/math/src/poly.findroots.c
|
||||
index 21b5756..e000ee8 100644
|
||||
--- a/src/math/src/poly.findroots.c
|
||||
+++ b/src/math/src/poly.findroots.c
|
||||
@@ -302,7 +302,7 @@ void POLY(_findroots_bairstow_recursion)(T * _p,
|
||||
#endif
|
||||
|
||||
// adjust u, v
|
||||
- if (isnan(du) || isnan(dv)) {
|
||||
+ if (isnan(T_ABS(du)) || isnan(T_ABS(dv))) {
|
||||
u *= 0.5f;
|
||||
v *= 0.5f;
|
||||
} else {
|
||||
--
|
||||
2.7.3
|
||||
|
Loading…
Reference in New Issue
Block a user