diff options
author | Søren Sandmann Pedersen <sandmann@redhat.com> | 2009-12-11 11:14:19 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@redhat.com> | 2009-12-11 11:14:19 -0500 |
commit | 54bc3ee64e5582a348cb0e48b3c54b1680ba7937 (patch) | |
tree | 2ac75ecb07676d21198500a4bc2aac897105e552 | |
parent | ce78288d7783a27700223c39e23880f4f425f70b (diff) |
region: Enable or disable fatal errors and selfchecks based on version numberregion-debug
For stable releases, assertions and selfchecks are turned off.
For unstable releases, assertions and selfchecks are turned on.
For random git checkouts, assertions are on, but selfchecks are off.
-rw-r--r-- | pixman/pixman-region.c | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c index f88955f3..df38ea08 100644 --- a/pixman/pixman-region.c +++ b/pixman/pixman-region.c @@ -66,9 +66,42 @@ #define GOOD_RECT(rect) ((rect)->x1 < (rect)->x2 && (rect)->y1 < (rect)->y2) #define BAD_RECT(rect) ((rect)->x1 > (rect)->x2 || (rect)->y1 > (rect)->y2) -#define noPIXMAN_REGION_LOG_FAILURES +/* Turn on debugging depending on what type of release this is + */ -#if defined PIXMAN_REGION_LOG_FAILURES || defined PIXMAN_REGION_DEBUG +#if ((PIXMAN_VERSION_MICRO % 2) == 1) +/* Random git checkout. + * + * Those are often used for performance work, so we don't turn on the + * full self-checking, but we do turn on the asserts. + */ +# define FATAL_BUGS +# define noSELF_CHECKS +#elif ((PIXMAN_VERSION_MINOR % 2) == 0) +/* Stable release. + * + * We don't want assertions because the X server should stay alive + * if possible. We also don't want self-checks for performance-reasons. + */ +# define noFATAL_BUGS +# define noSELF_CHECKS +#else +/* Development snapshot. + * + * These are the things that get shipped in development distributions + * such as Rawhide. We want both self-checking and fatal assertions + * to catch as many bugs as possible. + */ +# define FATAL_BUGS +# define SELF_CHECKS +#endif + +#ifndef FATAL_BUGS +# define assert(expr) +# define abort() +#endif + +#ifdef SELF_CHECKS static void log_region_error (const char *function, const char *message) @@ -83,9 +116,7 @@ log_region_error (const char *function, const char *message) "Set a breakpoint on 'log_region_error' to debug\n\n", function, message); -#if defined PIXMAN_REGION_DEBUG - abort (); -#endif + abort (); /* This is #defined away unless FATAL_BUGS is defined */ n_messages++; } |