summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-03-23 20:21:00 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-03-23 20:21:00 (GMT)
commitd1f3a002c3752bf75e394bf05230798d7f87b624 (patch)
tree0de048bf50d7b6d666d26c3dbc4e2b81a93a35fd /Modules
parent4dc2c221caf251f181b7a4136db9b39a1caed78b (diff)
parent19276f184f00829ce55ce0e98f8db06d93b7d665 (diff)
downloadcpython-d1f3a002c3752bf75e394bf05230798d7f87b624.zip
cpython-d1f3a002c3752bf75e394bf05230798d7f87b624.tar.gz
cpython-d1f3a002c3752bf75e394bf05230798d7f87b624.tar.bz2
Merge 3.4 (faulthandler ICC)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/faulthandler.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index def7b29..9c763ab 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -941,7 +941,14 @@ faulthandler_fatal_error_py(PyObject *self, PyObject *args)
}
#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
-static Py_uintptr_t
+#ifdef __INTEL_COMPILER
+ /* Issue #23654: Turn off ICC's tail call optimization for the
+ * stack_overflow generator. ICC turns the recursive tail call into
+ * a loop. */
+# pragma intel optimization_level 0
+#endif
+static
+Py_uintptr_t
stack_overflow(Py_uintptr_t min_sp, Py_uintptr_t max_sp, size_t *depth)
{
/* allocate 4096 bytes on the stack at each call */