From: Neal Norwitz Date: Sun, 13 Nov 2005 18:55:39 +0000 (+0000) Subject: Do a better job of not inlining Py_ADDRESS_IN_RANGE() for newer gcc's. X-Git-Tag: v2.5a0~1170 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e5e5aa4ea693d18bfc8a5bb352a75e9154da6af9;p=thirdparty%2FPython%2Fcpython.git Do a better job of not inlining Py_ADDRESS_IN_RANGE() for newer gcc's. Perhaps Py_NO_INLINE should be moved to pyport.h or some other header? --- diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c index a6fdf408112c..266b4c6031ae 100644 --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -557,8 +557,15 @@ error: #undef Py_ADDRESS_IN_RANGE -/* Don't make static, to ensure this isn't inlined. */ -int Py_ADDRESS_IN_RANGE(void *P, poolp pool); +#if defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ >= 1) +#define Py_NO_INLINE __attribute__((__noinline__)) +#else +#define Py_NO_INLINE +#endif + +/* Don't make static, to try to ensure this isn't inlined. */ +int Py_ADDRESS_IN_RANGE(void *P, poolp pool) Py_NO_INLINE; +#undef Py_NO_INLINE #endif /*==========================================================================*/