4.0: DONE Edit: Sorry I tried editing custom properties to note that this was backported to 4.0 but it seems that it's not the way 😅etienne (Étienne Barrié)
Use class_eval with a string so the initialize instance method, and the digest and hexdigest class methods are not defined via define_method with a Proc (which is not Ractor-safe). https://github.com/ruby/openssl/commit/502bc6c378etienne (Étienne Barrié)
GCC doesn't emit any warning when the -Wno- form is used, so we can't check reliably if the warning option is available: When an unrecognized warning option is requested (e.g., -Wunknown-warning), GCC gives an error stating that the opt...etienne (Étienne Barrié)
SIZED_REALLOC_N already assigns to its first argument, and the double assignment causes two writes to the same struct without a sequence point, which is undefined behavior. gc.c: In function 'rb_gc_register_address': gc.c:3758:3...etienne (Étienne Barrié)
C23 has qualifier-preserving standard library functions, so calling strchr with a `const char *` will return a `const char *`. We can change the type of the local variables because we don't mutate the strings.etienne (Étienne Barrié)
When checking whether CXXFLAGS is valid, we try to compile with a stdio include which causes a warning. This does the same when we check whether "-fdeclspec" can be used, that way the flag is not added if it would lead to a warning later.etienne (Étienne Barrié)