updated for version 7.4.511
Problem:    Generating proto for if_ruby.c uses type not defined elsewhere.
Solution:   Do not generate a prototype for
            rb_gc_writebarrier_unprotect_promoted()
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 06465bd..9301b72 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -418,7 +418,8 @@
 #  endif
 # endif
 
-# if defined(USE_RGENGC) && USE_RGENGC
+   /* Do not generate a prototype here, VALUE isn't always defined. */
+# if defined(USE_RGENGC) && USE_RGENGC && !defined(PROTO)
 void rb_gc_writebarrier_unprotect_promoted_stub(VALUE obj)
 {
     return dll_rb_gc_writebarrier_unprotect_promoted(obj);