This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Michael.Felt
Recipients BTaskaya, David.Edelsohn, Michael.Felt, pablogsal, vstinner
Date 2020-04-15.12:30:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <51733e34-ee9d-f6d4-f740-857bce144701@felt.demon.nl>
In-reply-to <dcd1179a-2eef-c5cf-096a-fc0f47104788@felt.demon.nl>
Content
On 15/04/2020 11:03, Michael Felt wrote:
> Michael Felt <aixtools@felt.demon.nl> added the comment:
>
> On 14/04/2020 19:28, Michael Felt wrote:
>> Michael Felt <aixtools@felt.demon.nl> added the comment:
>>
>> On 14/04/2020 14:54, Batuhan Taskaya wrote:
>>> Batuhan Taskaya <batuhanosmantaskaya@gmail.com> added the comment:
>>>
>>>> With the print statements - it does not crash:
>>> I think this isn't directly relevant with prints but about re-compiling? (just guessing).
>> I only recompiled the one .c file. With that one file re-compiled -
>> wqith fprintf statements it succeeds, restore the original .c file (git
>> checkout -- Objects/whatever.c; make - it fails.
>>
>> Tomorrow I'll search for the option(s) needed to get (complete) assembly
>> code listing and try to see (and understand) the difference between what
>> xlc-v13 and xlc-v16 makes. And, what I shall also test - is to recompile
>> only this one file using xlc-v13 and see if the make then proceeds normally.
>>
>>
> Many pages of output - and I confess - I do have some difficulty reading
> code every now and then.
>
> As the "bug" wherever it may be is related, I am guessing, to compiler
> optimization and how to deal with routines with "no return".
>
> Trying to understand the listings - I ran across:
>
> ./Include/object.h:typedef void (*destructor)(PyObject *);
>
> Could the error be related to compilers confusing a routine with no
> return, versus a routine returning a pointer to a "void"?

Although I as I think about it I believe the statement is correct:
"destructor" is a typedef of a pointer to a function (with an argument
of PyObject *) that has no_return (aka == void).

Sigh.

Instead. The two listings: note, they are practically identical for the
first 60 pages (aka skip to 'Page 61')

>
> recall the code:
>
> static void
> gen_dealloc(PyGenObject *gen)
>
> Comments?
>
> Michael
>
>> As Victor commented earlier - very much looking like a compiler bug.
>> That said, still do not know what to say/write to software support as a
>> complaint.
>>
>>> ----------
>>>
>>> _______________________________________
>>> Python tracker <report@bugs.python.org>
>>> <https://bugs.python.org/issue40244>
>>> _______________________________________
>>>
>> ----------
>>
>> _______________________________________
>> Python tracker <report@bugs.python.org>
>> <https://bugs.python.org/issue40244>
>> _______________________________________
>>
> ----------
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <https://bugs.python.org/issue40244>
> _______________________________________
>
Files
File name Uploaded
genobject-combined.lst Michael.Felt, 2020-04-15.12:30:19
History
Date User Action Args
2020-04-15 12:30:28Michael.Feltsetrecipients: + Michael.Felt, vstinner, David.Edelsohn, pablogsal, BTaskaya
2020-04-15 12:30:28Michael.Feltlinkissue40244 messages
2020-04-15 12:30:28Michael.Feltcreate