/* 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