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. Pauli -- Dr Paul Dale | Cryptographer | Network Security & Encryption Phone +61 7 3031 7217 Oracle Australia > On 27 Jan 2019, at 8:33 pm, Tim Hudson <t...@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@openssl.org > https://mta.openssl.org/mailman/listinfo/openssl-project
_______________________________________________ openssl-project mailing list openssl-project@openssl.org https://mta.openssl.org/mailman/listinfo/openssl-project