[Mesa-dev] [PATCH] gallium/util: Define ffsll on OpenBSD.
Jonathan Gray
jsg at jsg.id.au
Fri Feb 6 14:52:14 PST 2015
On Fri, Feb 06, 2015 at 08:11:51AM -0700, Brian Paul wrote:
> On 02/06/2015 04:38 AM, Jonathan Gray wrote:
> >OpenBSD has ffs in libc but does not have ffsll so use the compiler
> >builtin. PIPE_OS_BSD isn't suitable here as FreeBSD has ffsll in libc.
> >
> >Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
> >---
> > src/gallium/auxiliary/util/u_math.h | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> >diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
> >index 5db5b66..ec282f3 100644
> >--- a/src/gallium/auxiliary/util/u_math.h
> >+++ b/src/gallium/auxiliary/util/u_math.h
> >@@ -531,6 +531,8 @@ unsigned ffs( unsigned u )
> > #elif defined(__MINGW32__) || defined(PIPE_OS_ANDROID)
> > #define ffs __builtin_ffs
> > #define ffsll __builtin_ffsll
> >+#elif defined(__OpenBSD__)
> >+#define ffsll __builtin_ffsll
> > #endif
> >
> > #endif /* FFS_DEFINED */
> >
>
> Or maybe
>
> #elif defined(PIPE_OS_OPENBSD) && defined(PIPE_CC_GCC)
>
> Assuming you're talking about gcc.
Well clang tends to have the same builtins as gcc.
Though clang defines __GNUC__ and it seems
clang would be picked up as PIPE_CC_GCC currently and
there is no PIPE_CC_CLANG.
More information about the mesa-dev
mailing list