Change by Siddhesh Poyarekar :
--
nosy: +siddhesh
___
Python tracker
<https://bugs.python.org/issue47188>
___
___
Python-bugs-list mailing list
Unsubscribe:
Siddhesh Poyarekar added the comment:
Sorry I haven't had time to look into this since and it doesn't look like I'll
be able to get to it in the next couple of weeks. I had a couple of patches in
the github fork but they're pretty outdated and probably not even correct.
If nobody gets
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
> Pedantically the correct way is to cast to a function pointer with no
> prototype (empty parentheses) and from that to the target type. See for
> example. See for example https://godbolt.org/g/FdPdUj
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
Actually it is not; the parameter passed to Pythread_start_new_thread has a
different type (void (*)(void *)) from what's accepted (and executed by)
pthread_create (void *(*)(void *)). That is undefined beh
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
gcc8.1 throws this warning irrespective of the cast since converting function
pointers may result in undefined behaviour unless it is cast back to its
original type.
--
___
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
Yeah, there are multiple such uses that need wrappers to actually fix for gcc8,
which will be released this week. I think I'll have more time for some more
patches in this vein this w
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
Fair enough, I'll reduce my scope of changes for this patchset, especially
since I'm unable to find enough time to work on the remaining changes I had
thought of in the coming weeks.
I'll post an updated patch s
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
I forgot to clarify that the function cast warning allows for variable argument
casts as a wildcard, which is my basis for the PyObject *(*)(PyObject *,
PyObject *, ...) fix pr
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
> The warning in GCC shouldn't probably have been enabled at all in `-Wall
> -Wextra` because the cast is explicit. However, it is somewhat true.
The explicit cast is precisely what enables the more nuanced f
Siddhesh Poyarekar <siddhesh.poyare...@gmail.com> added the comment:
> I don't have GCC 8 so I cannot verify this bug, but *function pointer casts*
> are fine - any function pointer can be cast to any other function pointer -
> it is only that they must *not* be called unless
New submission from Siddhesh Poyarekar <siddhesh.poyare...@gmail.com>:
gcc 8 has added a new warning heuristic to detect invalid function casts and a
stock python build seems to hit that warning quite often. bug 33012 fixes the
most trivial case of METH_NOARGS, this bug is to
Change by Siddhesh Poyarekar <siddhesh.poyare...@gmail.com>:
--
keywords: +patch
pull_requests: +5792
stage: -> patch review
___
Python tracker <rep...@bugs.python.org>
<https://bugs.pyt
Change by Siddhesh Poyarekar <siddhesh.poyare...@gmail.com>:
--
keywords: +patch
pull_requests: +5773
stage: -> patch review
___
Python tracker <rep...@bugs.python.org>
<https://bugs.pyt
New submission from Siddhesh Poyarekar <siddhesh.poyare...@gmail.com>:
The PyThread_start_new_thread function takes a void (*)(void *) as the function
argument, which does not match with the pthread_create callback which has type
void *(*)(void *). I've got a fix for this that adds a w
New submission from Siddhesh Poyarekar <siddhesh.poyare...@gmail.com>:
gcc 8 has added a new warning heuristic to detect invalid function casts and a
stock python build seems to hit that warning quite often. The most common is
the cast of a METH_NOARGS function (that uses just one ar
Siddhesh Poyarekar added the comment:
It's not a change in glibc. __pthread_cond_timedwait is the internal function
name while pthread_cond_timedwait is the exported alias. You're seeing
__pthread_cond_timedwait here because either your glibc installation has debug
symbols or you have debug
16 matches
Mail list logo