1.2 KiB
Notes on C-99
This file contains a list of C-99 features we don't allow for OpenSSL. Starting with 3.6 OpenSSL project is going to gradually adopt C-99 features. The plan is to bring those features in small steps. Either with new code where particular C-99 construct makes sense (think of designated initializers), or when refactoring existing code and using C-99 language feature improves readability/maintainability of the code. C-99 seems to be implemented by major compilers (clang, gcc, msvc), therefore we can opt for permissive policy to adopt C-99 standard. This approach means OpenSSL project accepts all C-99 features except those explicitly listed here. The list here is going to be updated by features we either
-
find not useful (or not a good match) for OpenSSL
-
the feature is not implemented by some non-mainstream compiler which we need to keep supported for benefit of OpenSSL users
The list of C-99 features we don't support in OpenSSL project follows:
- do not use
//
for comments, stick to/* ... */