Added the const qualifier for char* argument of Py_EnterRecursiveCall().
diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst
index 6f8f243..65249e1 100644
--- a/Doc/c-api/exceptions.rst
+++ b/Doc/c-api/exceptions.rst
@@ -493,7 +493,7 @@
 recursive code does not necessarily invoke Python code (which tracks its
 recursion depth automatically).
 
-.. c:function:: int Py_EnterRecursiveCall(char *where)
+.. c:function:: int Py_EnterRecursiveCall(const char *where)
 
    Marks a point where a recursive C-level call is about to be performed.
 
diff --git a/Include/ceval.h b/Include/ceval.h
index 0e8bd2a..3735f00 100644
--- a/Include/ceval.h
+++ b/Include/ceval.h
@@ -50,7 +50,7 @@
              _Py_CheckRecursiveCall(where))
 #define Py_LeaveRecursiveCall()                         \
             (--PyThreadState_GET()->recursion_depth)
-PyAPI_FUNC(int) _Py_CheckRecursiveCall(char *where);
+PyAPI_FUNC(int) _Py_CheckRecursiveCall(const char *where);
 PyAPI_DATA(int) _Py_CheckRecursionLimit;
 #ifdef USE_STACKCHECK
 #  define _Py_MakeRecCheck(x)  (++(x) > --_Py_CheckRecursionLimit)
diff --git a/Python/ceval.c b/Python/ceval.c
index 115d278..fa9e7e0 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -615,7 +615,7 @@
    to guarantee that _Py_CheckRecursiveCall() is regularly called.
    Without USE_STACKCHECK, there is no need for this. */
 int
-_Py_CheckRecursiveCall(char *where)
+_Py_CheckRecursiveCall(const char *where)
 {
     PyThreadState *tstate = PyThreadState_GET();