Skip to content

Commit 93f6128

Browse files
committed
gh-131296: fix clang-cl warning in tracemalloc.c
Always set MAX_NFRAME to UINT16_MAX. Avoid the complicated code which emitted a compiler warning.
1 parent 486d537 commit 93f6128

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

Python/tracemalloc.c

+3-6
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,7 @@ typedef struct tracemalloc_traceback traceback_t;
4848
#define TRACEBACK_SIZE(NFRAME) \
4949
(sizeof(traceback_t) + sizeof(frame_t) * (NFRAME - 1))
5050

51-
/* The maximum number of frames is either:
52-
- The maximum number of frames we can store in `traceback_t.nframe`
53-
- The maximum memory size_t we can allocate */
54-
static const unsigned long MAX_NFRAME = Py_MIN(UINT16_MAX, ((SIZE_MAX - sizeof(traceback_t)) / sizeof(frame_t) + 1));
51+
static const int MAX_NFRAME = UINT16_MAX;
5552

5653

5754
#define tracemalloc_empty_traceback _PyRuntime.tracemalloc.empty_traceback
@@ -783,9 +780,9 @@ tracemalloc_deinit(void)
783780
int
784781
_PyTraceMalloc_Start(int max_nframe)
785782
{
786-
if (max_nframe < 1 || (unsigned long) max_nframe > MAX_NFRAME) {
783+
if (max_nframe < 1 || max_nframe > MAX_NFRAME) {
787784
PyErr_Format(PyExc_ValueError,
788-
"the number of frames must be in range [1; %lu]",
785+
"the number of frames must be in range [1; %i]",
789786
MAX_NFRAME);
790787
return -1;
791788
}

0 commit comments

Comments
 (0)