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

Reply via email to