have_func: checking for rb_sym2str()... -------------------- yes

" gcc -o conftest -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/x86_64-darwin18 -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/ruby/backward -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0 -I../../../../trenni  -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens  -fno-common -pipe -O3 -std=c99 conftest.c  -L. -L/Users/samuel/.rvm/rubies/ruby-2.6.1/lib -L/opt/local/lib -L. -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib     -lruby.2.6   "
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/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/x86_64-darwin18 -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/ruby/backward -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0 -I../../../../trenni  -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens  -fno-common -pipe -O3 -std=c99 conftest.c  -L. -L/Users/samuel/.rvm/rubies/ruby-2.6.1/lib -L/opt/local/lib -L. -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib     -lruby.2.6   "
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return 0;
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_sym2str; return !p; }
/* end */

--------------------

have_func: checking for rb_str_cat_cstr()... -------------------- yes

" gcc -o conftest -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/x86_64-darwin18 -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/ruby/backward -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0 -I../../../../trenni  -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens  -fno-common -pipe -O3 -std=c99 conftest.c  -L. -L/Users/samuel/.rvm/rubies/ruby-2.6.1/lib -L/opt/local/lib -L. -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib     -lruby.2.6   "
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return 0;
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_cat_cstr; return !p; }
/* end */

--------------------

have_func: checking for rb_str_reserve()... -------------------- no

" gcc -o conftest -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/x86_64-darwin18 -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/ruby/backward -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0 -I../../../../trenni  -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens  -fno-common -pipe -O3 -std=c99 conftest.c  -L. -L/Users/samuel/.rvm/rubies/ruby-2.6.1/lib -L/opt/local/lib -L. -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib     -lruby.2.6   "
conftest.c:14:57: error: use of undeclared identifier 'rb_str_reserve'
int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
                                                        ^
1 error generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return 0;
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
/* end */

" gcc -o conftest -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/x86_64-darwin18 -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0/ruby/backward -I/Users/samuel/.rvm/rubies/ruby-2.6.1/include/ruby-2.6.0 -I../../../../trenni  -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -ggdb3 -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens  -fno-common -pipe -O3 -std=c99 conftest.c  -L. -L/Users/samuel/.rvm/rubies/ruby-2.6.1/lib -L/opt/local/lib -L. -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib     -lruby.2.6   "
Undefined symbols for architecture x86_64:
  "_rb_str_reserve", referenced from:
      _t in conftest-8d3e70.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return 0;
13: }
14: extern void rb_str_reserve();
15: int t(void) { rb_str_reserve(); return 0; }
/* end */

--------------------