PATCH: Don't include <bits/mathinline.h> if __NO_MATH_INLINES is defined

H.J. Lu hongjiu.lu@intel.com
Fri Sep 16 11:52:00 GMT 2011


Hi,

GCC 4.7 failed to compile math/test-tgmath.o and math/test-tgmath2.o
on Linux/x86-64:

test-tgmath.c: In function ‘main’:
test-tgmath.c:698:4: error: inlining failed in call to always_inline
‘lrint’: function not inlinable
test-tgmath.c:267:7: error: called from here
test-tgmath.c:714:4: error: inlining failed in call to always_inline
‘llrint’: function not inlinable
test-tgmath.c:268:7: error: called from here
In file included from test-tgmath.c:201:0:
test-tgmath.c:698:1: error: inlining failed in call to always_inline
‘lrintf’: function not inlinable
test-tgmath.c:267:7: error: called from here
test-tgmath.c:714:1: error: inlining failed in call to always_inline
‘llrintf’: function not inlinable
test-tgmath.c:268:7: error: called from here

It defines __NO_MATH_INLINES.  But <bits/mathinline.h> is still
included.  This patch fixes it.


H.J.
----
2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* math/math.h: Don't include <bits/mathinline.h> if
	__NO_MATH_INLINES is defined.

diff --git a/math/math.h b/math/math.h
index aeb54d9..7e85ce9 100644
--- a/math/math.h
+++ b/math/math.h
@@ -412,7 +412,7 @@ extern int matherr (struct exception *__exc);
 #endif
 
 /* Get machine-dependent inline versions (if there are any).  */
-#ifdef __USE_EXTERN_INLINES
+#if defined __USE_EXTERN_INLINES && !defined __NO_MATH_INLINES
 # include <bits/mathinline.h>
 #endif
 



More information about the Libc-alpha mailing list