Description
Bug report
Bug description:
When running test suite on Python 3.14.0a4 built with gcc 15.0.3 on Fedora Linux 42 (Rawhide), test_generated_data fails for many of its types.
I suspect this is due to the new gcc version. This doesn't happen when Python is built with gcc 14.
Check that a ctypes struct/union matches its C equivalent. ...
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i8', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i8', value=1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i8', value=0, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u8', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u8', value=1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u8', value=0, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i16', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i16', value=1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i16', value=0, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u16', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u16', value=1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u16', value=0, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i32', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i32', value=1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i32', value=0, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u32', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u32', value=1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='u32', value=0, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent. ... FAIL
Example output:
FAIL: test_generated_data (test.test_ctypes.test_generated_structs.GeneratedTest.test_generated_data) (field='i8', value=-1, name='ManyTypesU')
Check that a ctypes struct/union matches its C equivalent.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builddir/build/BUILD/python3.14-3.14.0_a4-build/Python-3.14.0a4/Lib/test/test_ctypes/test_generated_structs.py", line 473, in test_generated_data
self.assertEqual(py_mem.hex(), c_mem.hex(), m)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'ff00000000000000' != 'ff8f8783ffff0000'
- ff00000000000000
+ ff8f8783ffff0000
: <FieldInfo for ManyTypesU.i8: <Field type=c_int8, ofs=0, size=1>>
in:
union {
int8_t i8;
uint8_t u8;
int16_t i16;
uint16_t u16;
int32_t i32;
uint32_t u32;
int64_t i64;
uint64_t u64;
}
Ran 1 test in 0.178s
FAILED (failures=18, skipped=11)CPython versions tested on:
3.14
Operating systems tested on:
Linux

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
