2021.01.04 14:23 "[Tiff] Motions related to C99 use in libtiff", by Even Rouault

2021.01.06 20:06 "Re: [Tiff] Motions related to C99 use in libtiff", by Olivier Paquet

libtiff is a C library. That would be broken C++ code and frankly none of our concern. At some point we have to draw a line and not accept responsibility for all the code in the universe.

It is not broken C++ code to use interface types as part of its implementation. C++ itself is "broken" in that the definition of a class must expose the complete interface (including "private" parts). It takes extra work to develop C++ interface code which entirely hides the implementation.

As part of the implementation, no, it's fine. And we're not breaking that.

If C++ code is using the libtiff typedefs as part of an ABI intended to be stable then yes, it is broken. And the fault lies with whoever wrote the code and either didn't know or didn't care.

For what it's worth, class declarations should be fine as the proposed changes don't change any type size. At least that's what I understood from the heap of emails.

I will gently remind that most of us contributing time to the project do so as volunteers. That certainly applies to me.

I am aware. Which is precisely why I think we must limit our scope. If we had lots of resources we could test what the changes will break on all popular platforms and submit patches to fix that code before we update libtiff. But as far as I know, we don't have the resources to do that.

Olivier