On Wednesday 28 January 2015 11:20:10 Tom Stellard wrote: > On Wed, Jan 28, 2015 at 10:44:57AM -0800, Jason Ekstrand wrote: > > The problem is that the fallbacks we have at the moment don't work in C++. > > While we could theoretically fix the fallbacks it would also raise the > > issue of correctly detecting the fpclassify function. So, for now, we'll > > just disable it until we actually have a C++ user. > > Tested-by: Tom Stellard <thomas.stell...@amd.com> Tested-by: EdB <edb+m...@sigluy.net> > > > Reported-by: Tom Stellard <t...@stellard.net> > > Should use my AMD email here too ^ or you can drop this line all together if > you want. > > -Tom > > > --- > > > > src/util/macros.h | 14 ++++++++++++-- > > 1 file changed, 12 insertions(+), 2 deletions(-) > > > > diff --git a/src/util/macros.h b/src/util/macros.h > > index 180f2f6..74bd8bf 100644 > > --- a/src/util/macros.h > > +++ b/src/util/macros.h > > @@ -158,7 +158,15 @@ do { \ > > > > # endif > > #endif > > > > -#if defined(fpclassify) > > +/* The fallbacks below don't work correctly in C++ and properly detecting > > + * FP_NORMAL in C++ is hard. Since we don't use fpclassify in any C++ > > code + * at the moment, we can just predicate this whole thing by not > > being in + * C++ and we shoudld be ok. If we ever want to use fpclassify > > in a C++ + * file, we will have to revisit this. > > + */ > > +#ifndef __cplusplus > > + > > +#ifdef FP_NORMAL > > > > /* ISO C99 says that fpclassify is a macro. Assume that any > > implementation > > > > * of fpclassify, whether it's in a C99 compiler or not, will be a macro. > > */ > > > > @@ -199,7 +207,7 @@ fpclassify(double x) > > > > #else > > > > -enum {FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL} > > +static inline enum {FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, > > FP_NORMAL} > > > > fpclassify(double x) > > { > > > > /* XXX do something better someday */ > > > > @@ -208,4 +216,6 @@ fpclassify(double x) > > > > #endif > > > > +#endif /* __cplusplus */ > > + > > > > #endif /* UTIL_MACROS_H */ > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev