File: //usr/local/rvm/src/ruby-2.5.9/ext/racc/cparse/mkmf.log
have_func: checking for rb_block_call() in ruby/ruby.h... -------------------- yes
"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/racc/cparse -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wmisleading-indentation -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wimplicit-fallthrough=0 -Wduplicated-cond -Wrestrict -fPIC conftest.c -L. -L../../.. -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.5.9/lib -L/usr/local/rvm/rubies/ruby-2.5.9/lib -lruby-static -lpthread -ldl -lcrypt -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/racc/cparse -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wmisleading-indentation -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wimplicit-fallthrough=0 -Wduplicated-cond -Wrestrict -fPIC conftest.c -L. -L../../.. -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.5.9/lib -L/usr/local/rvm/rubies/ruby-2.5.9/lib -lruby-static -lpthread -ldl -lcrypt -lm -lc"
conftest.c: In function ‘t’:
conftest.c:15:43: warning: cast between incompatible function types from ‘VALUE (*)(VALUE, ID, int, const VALUE *, VALUE (*)(), VALUE)’ {aka ‘long unsigned int (*)(long unsigned int, long unsigned int, int, const long unsigned int *, long unsigned int (*)(), long unsigned int)’} to ‘void (*)()’ [-Wcast-function-type]
int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_block_call; return !p; }
^
conftest.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ruby/ruby.h>
4:
5: /*top*/
6: extern int t(void);
7: int main(int argc, char **argv)
8: {
9: if (argc > 1000000) {
10: printf("%p", &t);
11: }
12:
13: return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_block_call; return !p; }
/* end */
--------------------
extconf.h is:
/* begin */
1: #ifndef EXTCONF_H
2: #define EXTCONF_H
3: #define HAVE_RB_BLOCK_CALL 1
4: #endif
/* end */