[openssl-project] inline functions

Dr Paul Dale paul.dale at oracle.com
Sun Jan 27 11:30:07 UTC 2019

I’d generally prefer functions over macros — I think that the ctrl calls e.g. would be better wrapped with function to provide type checking.
The overhead of a function call is pretty light these days so inline functions are difficult to justify (as anything except a premature optimisation?).

Both safestack and lhash are problematic cases.  The inline functions come from macros which I view as okay.  The problem is that some of these macros are expanded in the header for common cases (e.g. stack of stings).  We could address this by distinguishing between the function declarations and their instantiation and move the latter into its own C file.

Dr Paul Dale | Cryptographer | Network Security & Encryption 
Phone +61 7 3031 7217
Oracle Australia

> On 27 Jan 2019, at 8:33 pm, Tim Hudson <tjh at openssl.org> wrote:
> From https://github.com/openssl/openssl/pull/7721 <https://github.com/openssl/openssl/pull/7721>
> Tim - I think inline functions in public header files simply shouldn't be present.
> Matt - I agree
> Richard - I'm ambivalent... in the case of stack and lhash, the generated functions we made static inline expressly to get better C type safety, and to get away from the mkstack.pl <http://mkstack.pl/> horror.
> It would be good to get a sense of the collective thoughts on the topic.
> Tim.
> _______________________________________________
> openssl-project mailing list
> openssl-project at openssl.org
> https://mta.openssl.org/mailman/listinfo/openssl-project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-project/attachments/20190127/61d02d46/attachment.html>

More information about the openssl-project mailing list