https://github.com/python/cpython/commit/9ec4e3838a44ed198acd28970c4854a619d595dc
commit: 9ec4e3838a44ed198acd28970c4854a619d595dc
branch: 3.14
author: Serhiy Storchaka <[email protected]>
committer: encukou <[email protected]>
date: 2025-10-07T22:26:05+02:00
summary:
[3.14] gh-138264: Fix gcc 14 compiler warnings (GH-138265) (GH-138426)
(cherry picked from commit 4a33077fdb546db71b16d50cdd552529a9a1c910)
files:
M Include/internal/pycore_stats.h
M Lib/test/test_generated_cases.py
M Modules/_sre/sre.c
M Python/executor_cases.c.h
M Python/generated_cases.c.h
M Tools/cases_generator/generators_common.py
diff --git a/Include/internal/pycore_stats.h b/Include/internal/pycore_stats.h
index ab649574f33dbf..24f239a2135b93 100644
--- a/Include/internal/pycore_stats.h
+++ b/Include/internal/pycore_stats.h
@@ -77,7 +77,7 @@ PyAPI_FUNC(PyObject*) _Py_GetSpecializationStats(void);
#define RARE_EVENT_INTERP_INC(interp, name) \
do { \
/* saturating add */ \
- int val = FT_ATOMIC_LOAD_UINT8_RELAXED(interp->rare_events.name); \
+ uint8_t val = FT_ATOMIC_LOAD_UINT8_RELAXED(interp->rare_events.name); \
if (val < UINT8_MAX) { \
FT_ATOMIC_STORE_UINT8(interp->rare_events.name, val + 1); \
} \
diff --git a/Lib/test/test_generated_cases.py b/Lib/test/test_generated_cases.py
index d481cb07f757d8..fc34ac2fdc98ce 100644
--- a/Lib/test/test_generated_cases.py
+++ b/Lib/test/test_generated_cases.py
@@ -1601,7 +1601,7 @@ def test_instruction_size_macro(self):
frame->instr_ptr = next_instr;
next_instr += 1;
INSTRUCTION_STATS(OP);
- frame->return_offset = 1 ;
+ frame->return_offset = 1u ;
DISPATCH();
}
"""
diff --git a/Modules/_sre/sre.c b/Modules/_sre/sre.c
index e8943920043906..694a66818f90d8 100644
--- a/Modules/_sre/sre.c
+++ b/Modules/_sre/sre.c
@@ -2355,7 +2355,7 @@ match_getindex(MatchObject* self, PyObject* index)
}
// Check that i*2 cannot overflow to make static analyzers happy
- assert(i <= SRE_MAXGROUPS);
+ assert((size_t)i <= SRE_MAXGROUPS);
return i;
}
diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h
index af4c39d03afa86..e3f4e5bdb65fd5 100644
--- a/Python/executor_cases.c.h
+++ b/Python/executor_cases.c.h
@@ -1576,7 +1576,7 @@
new_frame = _PyFrame_PushUnchecked(tstate, getitem, 2, frame);
new_frame->localsplus[0] = container;
new_frame->localsplus[1] = sub;
- frame->return_offset = 6 ;
+ frame->return_offset = 6u ;
stack_pointer[-3].bits = (uintptr_t)new_frame;
stack_pointer += -2;
assert(WITHIN_STACK_BOUNDS());
@@ -1944,8 +1944,8 @@
gen->gi_frame_state = FRAME_EXECUTING;
gen->gi_exc_state.previous_item = tstate->exc_info;
tstate->exc_info = &gen->gi_exc_state;
- assert( 2 + oparg <= UINT16_MAX);
- frame->return_offset = (uint16_t)( 2 + oparg);
+ assert( 2u + oparg <= UINT16_MAX);
+ frame->return_offset = (uint16_t)( 2u + oparg);
gen_frame->previous = frame;
stack_pointer[-1].bits = (uintptr_t)gen_frame;
break;
@@ -4544,7 +4544,7 @@
gen->gi_exc_state.previous_item = tstate->exc_info;
tstate->exc_info = &gen->gi_exc_state;
gen_frame->previous = frame;
- frame->return_offset = (uint16_t)( 2 + oparg);
+ frame->return_offset = (uint16_t)( 2u + oparg);
stack_pointer[0].bits = (uintptr_t)gen_frame;
stack_pointer += 1;
assert(WITHIN_STACK_BOUNDS());
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h
index 5d464b06bc1804..f2b99365772f4d 100644
--- a/Python/generated_cases.c.h
+++ b/Python/generated_cases.c.h
@@ -653,7 +653,7 @@
new_frame = _PyFrame_PushUnchecked(tstate, getitem, 2, frame);
new_frame->localsplus[0] = container;
new_frame->localsplus[1] = sub;
- frame->return_offset = 6 ;
+ frame->return_offset = 6u ;
}
// _PUSH_FRAME
{
@@ -1586,7 +1586,7 @@
if (new_frame == NULL) {
JUMP_TO_LABEL(error);
}
- frame->return_offset = 4 ;
+ frame->return_offset = 4u ;
DISPATCH_INLINED(new_frame);
}
STACKREFS_TO_PYOBJECTS(arguments, total_args, args_o);
@@ -2641,7 +2641,7 @@
if (new_frame == NULL) {
JUMP_TO_LABEL(error);
}
- assert( 1 == 1);
+ assert( 1u == 1);
frame->return_offset = 1;
DISPATCH_INLINED(new_frame);
}
@@ -2922,8 +2922,8 @@
if (new_frame == NULL) {
JUMP_TO_LABEL(error);
}
- assert( 4 == 1 + INLINE_CACHE_ENTRIES_CALL_KW);
- frame->return_offset = 4 ;
+ assert( 4u == 1 + INLINE_CACHE_ENTRIES_CALL_KW);
+ frame->return_offset = 4u ;
DISPATCH_INLINED(new_frame);
}
STACKREFS_TO_PYOBJECTS(arguments, total_args, args_o);
@@ -5821,7 +5821,7 @@
gen->gi_exc_state.previous_item = tstate->exc_info;
tstate->exc_info = &gen->gi_exc_state;
gen_frame->previous = frame;
- frame->return_offset = (uint16_t)( 2 + oparg);
+ frame->return_offset = (uint16_t)( 2u + oparg);
}
// _PUSH_FRAME
{
@@ -6460,7 +6460,7 @@
if (new_frame == NULL) {
JUMP_TO_LABEL(error);
}
- frame->return_offset = 4 ;
+ frame->return_offset = 4u ;
DISPATCH_INLINED(new_frame);
}
STACKREFS_TO_PYOBJECTS(arguments, total_args, args_o);
@@ -6681,7 +6681,7 @@
if (new_frame == NULL) {
JUMP_TO_LABEL(error);
}
- assert( 1 == 1);
+ assert( 1u == 1);
frame->return_offset = 1;
DISPATCH_INLINED(new_frame);
}
@@ -6832,8 +6832,8 @@
if (new_frame == NULL) {
JUMP_TO_LABEL(error);
}
- assert( 4 == 1 + INLINE_CACHE_ENTRIES_CALL_KW);
- frame->return_offset = 4 ;
+ assert( 4u == 1 + INLINE_CACHE_ENTRIES_CALL_KW);
+ frame->return_offset = 4u ;
DISPATCH_INLINED(new_frame);
}
STACKREFS_TO_PYOBJECTS(arguments, total_args, args_o);
@@ -8237,7 +8237,7 @@
stack_pointer += -1;
assert(WITHIN_STACK_BOUNDS());
new_frame->localsplus[1] = PyStackRef_FromPyObjectNew(name);
- frame->return_offset = 10 ;
+ frame->return_offset = 10u ;
DISPATCH_INLINED(new_frame);
}
@@ -10690,8 +10690,8 @@
gen->gi_frame_state = FRAME_EXECUTING;
gen->gi_exc_state.previous_item = tstate->exc_info;
tstate->exc_info = &gen->gi_exc_state;
- assert( 2 + oparg <= UINT16_MAX);
- frame->return_offset = (uint16_t)( 2 + oparg);
+ assert( 2u + oparg <= UINT16_MAX);
+ frame->return_offset = (uint16_t)( 2u + oparg);
assert(gen_frame->previous == NULL);
gen_frame->previous = frame;
DISPATCH_INLINED(gen_frame);
@@ -10791,8 +10791,8 @@
gen->gi_frame_state = FRAME_EXECUTING;
gen->gi_exc_state.previous_item = tstate->exc_info;
tstate->exc_info = &gen->gi_exc_state;
- assert( 2 + oparg <= UINT16_MAX);
- frame->return_offset = (uint16_t)( 2 + oparg);
+ assert( 2u + oparg <= UINT16_MAX);
+ frame->return_offset = (uint16_t)( 2u + oparg);
gen_frame->previous = frame;
}
// _PUSH_FRAME
diff --git a/Tools/cases_generator/generators_common.py
b/Tools/cases_generator/generators_common.py
index 9e60d219a71c4a..0b3d89660099de 100644
--- a/Tools/cases_generator/generators_common.py
+++ b/Tools/cases_generator/generators_common.py
@@ -443,7 +443,7 @@ def instruction_size(self,
"""Replace the INSTRUCTION_SIZE macro with the size of the current
instruction."""
if uop.instruction_size is None:
raise analysis_error("The INSTRUCTION_SIZE macro requires
uop.instruction_size to be set", tkn)
- self.out.emit(f" {uop.instruction_size} ")
+ self.out.emit(f" {uop.instruction_size}u ")
return True
def _print_storage(self, reason:str, storage: Storage) -> None:
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]