tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: EV_SET() better C++ compat with alternative implementations



On 25.08.2019 18:10, Joerg Sonnenberger wrote:
> On Sun, Aug 25, 2019 at 04:59:41PM +0100, Roy Marples wrote:
>> On 25/08/2019 16:48, Joerg Sonnenberger wrote:
>>> On Sun, Aug 25, 2019 at 04:43:51PM +0100, Roy Marples wrote:
>>>> On 25/08/2019 15:39, Joerg Sonnenberger wrote:
>>>>> There is no technical reason really for prefering void *
>>>> Having to write code to exclusively deal with NetBSD's different API to
>>>> compile without warnings sounds like a pretty good technical reason to me.
>>>
>>> That's not a technical reason. It's a social reason.
>>
>> And your reason for being anti-social is?
> 
> This whole discussion about breaking compatibility with NetBSD for the
> sake of better compatibility with other systems.

The fallout will be in C++ specific only.

And I stand with my proposal to patch these users.


> It's a weak argument
> and as I said, there is no technical reason for why void * should be
> preferred. 

We disagree on this. Patching 3rd party (and src/) code is a technical
activity.

Actually there is no reason to enforce intptr_t, except being antisocial.

If a caller is going for store numbers in a pointer type, it's on caller
responsibility, not callee.

> Ultimately, from the perspective of the system interface, it
> is an arbitrary value.

And so void* is the closest to being Top type in C and C++.

> If anything, it should be something like
> uint64_t, but that is most definitely an ABI break for little gain.

This is not related. There is proposal to revert to void*.

> What we do have now in the tree is a number of iterations on trying to
> "improve" things that actually broke more than they fixed. Which is
> exactly the reason why I asked about just going back to the known state
> of being compatible with older NetBSD releases.
> 

Please enumerate pkgsrc packages broken in HEAD (9.9.10+) with the
current set of casts. (So far, I received 0 reports.)

It fixed the current(ly tested) C++ users affected by incompatible type
as they no longer need caller casts (but we keep for the time being them
for <9 users).

> Joerg
> 


Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index