On 12/05/2014 01:42 PM, Matt Turner wrote: > On Fri, Dec 5, 2014 at 1:25 PM, Ian Romanick <i...@freedesktop.org> wrote: >> On 12/05/2014 01:17 PM, Carl Worth wrote: >>> Previously, if __builtin_unreachable() was unavailable, the >>> unreachable macro was defined to do nothing. We do better here, by at >>> least still making it an assert. >>> --- >>> src/util/macros.h | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/src/util/macros.h b/src/util/macros.h >>> index 5fc6729..eec8b93 100644 >>> --- a/src/util/macros.h >>> +++ b/src/util/macros.h >>> @@ -82,7 +82,7 @@ do { \ >>> #endif >>> >>> #ifndef unreachable >>> -#define unreachable(str) >>> +#define unreachable(str) assert(!str) >> >> I'd make this ASSERT. In Mesa, ASSERT only exists if DEBUG is defined. >> It seems that many distros build without -DDEBUG and without -DNDEBUG. >> I'd rather have no code for these cases in all release builds. > > I'm surprised by that. > > I see that we add -DDEBUG with --enable-debug, but from experience > assert() does nothing in my regular release build (without > --enable-debug). Where is NDEBUG coming from in that case? I don't see > it in the macros gcc automatically defines (gcc -g -dM -E - < > /dev/null).
Right... and you need NDEBUG to no-op assert. It has to be added by hand, and it seems that the distros don't. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev