New submission from Андрей Парамонов:

To reproduce:

0) Compile attached testlib.c

1) Run the following code:
from __future__ import print_function
from __future__ import unicode_literals

from ctypes import *

testlib = windll.LoadLibrary('testlib')
testfun = testlib.test

class objid(Structure):
    _fields_ = [('bytes', c_ubyte*16)]

print('Calling...')
testfun(objid(), c_wchar_p('test'))
print('Done.')

---

It gives different output for different versions of Python and processor 
architectures:

>c:\python27\python test.py
Calling...
test
Done.

>c:\python34\python test.py
Calling...
test
Done.

>c:\python27-64\python test.py
Calling...
test
Done.

>c:\python34-64\python test.py
Calling...

Done.

It appears that Python 3.4 on Windows x86-64 generates incorrect function call 
code.

----------
components: ctypes
files: testlib.c
messages: 233042
nosy: Андрей.Парамонов
priority: normal
severity: normal
status: open
title: [Windows x86-64] Incorrect function call
versions: Python 3.4
Added file: http://bugs.python.org/file37534/testlib.c

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23104>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to