diff options
Diffstat (limited to 'Modules/_sre.c')
-rw-r--r-- | Modules/_sre.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/_sre.c b/Modules/_sre.c index be6920d..3f17d13 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -72,9 +72,18 @@ static char copyright[] = /* FIXME: maybe the limit should be 40000 / sizeof(void*) ? */ #define USE_RECURSION_LIMIT 7500 #else +#if defined(__GNUC__) && (__GNUC__ > 2) && \ + (defined(__FreeBSD__) || defined(PYOS_OS2)) +/* gcc 3.x, on FreeBSD and OS/2+EMX and at optimisation levels of + * -O3 (autoconf default) and -O2 (EMX port default), generates code + * for _sre that fails for the default recursion limit. + */ +#define USE_RECURSION_LIMIT 7500 +#else #define USE_RECURSION_LIMIT 10000 #endif #endif +#endif /* enables fast searching */ #define USE_FAST_SEARCH |