From 0f55c533b6a420ceba46cfe8178880d50b639535 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sat, 13 Dec 2008 01:53:28 +0000 Subject: *: document __USE_EXTERN_INLINES better; fix uclibc build if it is forcibly enabled --- include/features.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/features.h b/include/features.h index defdd04c6..1d92a8213 100644 --- a/include/features.h +++ b/include/features.h @@ -365,9 +365,17 @@ #endif /* !ASSEMBLER */ -/* Decide whether we can define 'extern inline' functions in headers. */ -#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ - && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ +/* Decide whether we can, and are willing to define extern inline + * functions in headers, even if this results in a slightly bigger + * code for user programs built against uclibc. + * Enabled only in -O2 compiles, not -Os. + * uclibc itself is usually built without __USE_EXTERN_INLINES, + * remove "&& !defined __OPTIMIZE_SIZE__" part to do otherwise. + */ +#if __GNUC_PREREQ (2, 7) \ + && defined __OPTIMIZE__ \ + && !defined __OPTIMIZE_SIZE__ \ + && !defined __NO_INLINE__ \ && (defined __extern_inline || defined __GNUC_GNU_INLINE__) # define __USE_EXTERN_INLINES 1 #endif -- cgit v1.2.3