compiling array.c In file included from transient_heap.h:12:0, from array.c:21: array.c: In function erb_ary_uniq_bangf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ array.c:4864:17: note: in expansion of macro eRHASH_SIZEf hash_size = RHASH_SIZE(hash); ^ compiling class.c In file included from class.c:26:0: class.c: In function erb_extract_keywordsf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ class.c:1853:9: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(hash)) { ^ class.c: In function erb_get_kwargsf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ class.c:1920:6: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(keyword_hash) > (unsigned int)(values ? 0 : j)) { ^ compiling compile.c In file included from compile.c:15:0: compile.c: In function eibf_dump_object_hashf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ compile.c:9420:16: note: in expansion of macro eRHASH_SIZEf long len = RHASH_SIZE(obj); ^ compiling eval.c In file included from eval.c:14:0: eval.c: In function eextract_raise_optsf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ eval.c:673:11: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(opt)) { ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ eval.c:677:7: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(opt)) --argc; ^ compiling gc.c In file included from gc.c:24:0: gc.c: In function ecount_objectsf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ gc.c:3517:15: note: in expansion of macro eRHASH_EMPTY_Pf else if (!RHASH_EMPTY_P(hash)) { ^ gc.c: In function erb_raw_obj_infof: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ gc.c:9711:29: note: in expansion of macro eRHASH_SIZEf (int)RHASH_SIZE(obj)); ^ compiling hash.c In file included from hash.c:17:0: hash.c: In function ehash_dupf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:1266:10: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_reject_bangf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2180:9: note: in expansion of macro eRHASH_SIZEf n = RHASH_SIZE(hash); ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2183:14: note: in expansion of macro eRHASH_SIZEf if (n == RHASH_SIZE(hash)) return Qnil; ^ hash.c: In function erb_hash_rejectf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2223:10: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_slicef: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2246:22: note: in expansion of macro eRHASH_EMPTY_Pf if (argc == 0 || RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_selectf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2342:10: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_select_bangf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2373:9: note: in expansion of macro eRHASH_SIZEf n = RHASH_SIZE(hash); ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2376:14: note: in expansion of macro eRHASH_SIZEf if (n == RHASH_SIZE(hash)) return Qnil; ^ In file included from ./include/ruby/encoding.h:27:0, from hash.c:14: hash.c: In function erb_hash_sizef: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:261:33: note: in definition of macro eRB_INT2FI f #define RB_INT2FIX(i) (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG) ^ hash.c:2627:12: note: in expansion of macro eINT2FIXf return INT2FIX(RHASH_SIZE(hash)); ^ hash.c:2627:20: note: in expansion of macro eRHASH_SIZEf return INT2FIX(RHASH_SIZE(hash)); ^ In file included from hash.c:17:0: hash.c: In function erb_hash_size_numf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2633:18: note: in expansion of macro eRHASH_SIZEf return (long)RHASH_SIZE(hash); ^ hash.c: In function erb_hash_empty_pf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2649:12: note: in expansion of macro eRHASH_EMPTY_Pf return RHASH_EMPTY_P(hash) ? Qtrue : Qfalse; ^ hash.c: In function erb_hash_transform_keysf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2801:10: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_transform_valuesf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2876:36: note: in expansion of macro eRHASH_SIZEf result = rb_hash_new_with_size(RHASH_SIZE(hash)); ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2877:10: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_to_af: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:2934:27: note: in expansion of macro eRHASH_SIZEf ary = rb_ary_new_capa(RHASH_SIZE(hash)); ^ hash.c: In function erb_hash_inspectf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:2991:9: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(hash)) ^ hash.c: In function erb_hash_to_h_blockf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3037:37: note: in expansion of macro eRHASH_SIZEf VALUE h = rb_hash_new_with_size(RHASH_SIZE(hash)); ^ hash.c: In function erb_hash_keysf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3091:23: note: in expansion of macro eRHASH_SIZEf st_index_t size = RHASH_SIZE(hash); ^ hash.c: In function erb_hash_valuesf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3143:23: note: in expansion of macro eRHASH_SIZEf st_index_t size = RHASH_SIZE(hash); ^ hash.c: In function ehash_equalf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3302:9: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash1) != RHASH_SIZE(hash2)) ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3302:30: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash1) != RHASH_SIZE(hash2)) ^ hash.c: In function erb_hash_hashf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3392:23: note: in expansion of macro eRHASH_SIZEf st_index_t size = RHASH_SIZE(hash); ^ hash.c: In function erb_hash_invertf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3442:37: note: in expansion of macro eRHASH_SIZEf VALUE h = rb_hash_new_with_size(RHASH_SIZE(hash)); ^ hash.c: In function erb_hash_assocf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:3711:9: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(hash)) return Qnil; ^ hash.c: In function erb_hash_flattenf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3816:24: note: in expansion of macro eRHASH_SIZEf ary = rb_ary_new_capa(RHASH_SIZE(hash) * 2); ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3830:24: note: in expansion of macro eRHASH_SIZEf ary = rb_ary_new_capa(RHASH_SIZE(hash) * 2); ^ hash.c: In function erb_hash_compactf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:3871:10: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(hash)) { ^ hash.c: In function erb_hash_compact_bangf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3894:9: note: in expansion of macro eRHASH_SIZEf n = RHASH_SIZE(hash); ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3897:18: note: in expansion of macro eRHASH_SIZEf if (n != RHASH_SIZE(hash)) ^ hash.c: In function erb_hash_compare_by_idf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:3932:47: note: in expansion of macro eRHASH_SIZEf identtable = rb_init_identtable_with_size(RHASH_SIZE(hash)); ^ hash.c: In function erb_hash_any_pf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZ f #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ hash.c:4031:9: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(hash)) return Qfalse; ^ hash.c: In function erb_hash_lef: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4119:9: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) > RHASH_SIZE(other)) return Qfalse; ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4119:28: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) > RHASH_SIZE(other)) return Qfalse; ^ hash.c: In function erb_hash_ltf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4140:9: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) >= RHASH_SIZE(other)) return Qfalse; ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4140:29: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) >= RHASH_SIZE(other)) return Qfalse; ^ hash.c: In function erb_hash_gef: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4161:9: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) < RHASH_SIZE(other)) return Qfalse; ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4161:28: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) < RHASH_SIZE(other)) return Qfalse; ^ hash.c: In function erb_hash_gtf: internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4182:9: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) <= RHASH_SIZE(other)) return Qfalse; ^ internal.h:766:74: warning: signed and unsigned type in conditional ex pression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW (h) : RHASH_ST_SIZE(h)) ^ hash.c:4182:29: note: in expansion of macro eRHASH_SIZEf if (RHASH_SIZE(hash) <= RHASH_SIZE(other)) return Qfalse; ^ hash.c: In function elinear_updatef: hash.c:362:62: warning: ebinf may be used uninitialized in this function [-Wmaybe-uninitialized] #define RHASH_ARRAY_REF(hash, n) (&RHASH_ARRAY(hash)->entries[n]) ^ hash.c:807:13: note: ebinf was declared here uint8_t bin; ^ hash.c: In function erb_hash_stlike_updatef: hash.c:362:62: warning: ebinf may be used uninitialized in this function [-Wmaybe-uninitialized] #define RHASH_ARRAY_REF(hash, n) (&RHASH_ARRAY(hash)->entries[n]) ^ hash.c:807:13: note: ebinf was declared here uint8_t bin; ^ hash.c: At top level: cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] compiling inits.c compiling io.c compiling iseq.c compiling load.c compiling marshal.c compiling math.c making mjit_config.h compiling mjit.c compiling mjit_compile.c compiling node.c compiling numeric.c compiling object.c compiling pack.c compiling parse.c compiling proc.c compiling process.c In file included from process.c:16:0: process.c: In function erb_check_exec_optionsf: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZEf #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ process.c:2215:9: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(opthash)) ^ process.c: In function erb_execarg_extract_optionsf: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZEf #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ process.c:2224:9: note: in expansion of macro eRHASH_EMPTY_Pf if (RHASH_EMPTY_P(opthash)) ^ process.c: In function erb_execarg_parent_start1f: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ process.c:2737:52: note: in expansion of macro eRHASH_SIZEf envp_str = rb_str_buf_new(sizeof(char*) * (RHASH_SIZE(envtbl) + 1)); ^ process.c: At top level: cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] compiling random.c compiling range.c compiling rational.c compiling re.c compiling regcomp.c compiling regenc.c compiling regerror.c compiling regexec.c compiling regparse.c compiling regsyntax.c compiling ruby.c compiling safe.c compiling signal.c compiling sprintf.c compiling st.c compiling strftime.c compiling string.c compiling struct.c compiling symbol.c compiling thread.c In file included from method.h:14:0, from vm_core.h:75, from eval_intern.h:5, from thread.c:68: thread.c: In function erecursive_popf: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:1112:27: note: in expansion of macro eRHASH_SIZEf #define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) ^ thread.c:4849:11: note: in expansion of macro eRHASH_EMPTY_Pf if (!RHASH_EMPTY_P(pair_list)) { ^ thread.c: At top level: cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] compiling time.c compiling transcode.c compiling transient_heap.c compiling util.c compiling variable.c compiling version.c compiling vm.c In file included from ./include/ruby.h:33:0, from internal.h:15, from vm.c:11: vm_args.c: In function esetup_parameters_complexf: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:347:43: note: in definition of macro erb_long2intf #define rb_long2int(n) rb_long2int_inline(n) ^ vm_args.c:667:31: note: in expansion of macro eRHASH_SIZEf int kw_len = rb_long2int(RHASH_SIZE(keyword_hash)); ^ In file included from vm.c:11:0: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ vm_args.c:685:38: note: in expansion of macro eRHASH_SIZEf else if (!NIL_P(keyword_hash) && RHASH_SIZE(keyword_hash) > 0) { ^ In file included from ./include/ruby.h:33:0, from internal.h:15, from vm.c:11: vm_insnhelper.c: In function evm_opt_lengthf: internal.h:766:74: warning: signed and unsigned type in conditional expression [-Wsign-compare] # define RHASH_SIZE(h) (RHASH_ARRAY_P(h) ? RHASH_ARRAY_SIZE_RAW(h) : RHASH_ST_SIZE(h)) ^ ./include/ruby/ruby.h:261:33: note: in definition of macro eRB_INT2FIXf #define RB_INT2FIX(i) (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG) ^ vm_insnhelper.c:3746:9: note: in expansion of macro eINT2FIXf return INT2FIX(RHASH_SIZE(recv)); ^ vm_insnhelper.c:3746:17: note: in expansion of macro eRHASH_SIZEf return INT2FIX(RHASH_SIZE(recv)); ^ vm.c: At top level: cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] compiling vm_backtrace.c compiling vm_dump.c compiling vm_trace.c compiling enc/unicode.c compiling enc/trans/newline.c compiling ./missing/setproctitle.c compiling addr2line.c linking miniruby ./tool/ifchange "--timestamp=.rbconfig.time" rbconfig.rb rbconfig.tmp rbconfig.rb unchanged generating enc.mk making srcs under enc make[2]: Entering directory `/home/duerst/ruby2' make[2]: Nothing to be done for `srcs'. make[2]: Leaving directory `/home/duerst/ruby2' downloading for ext/fiddle/extlibs .downloaded-cache/libffi-3.2.1.tar.gz already exists make[1]: Leaving directory `/home/duerst/ruby2' BASERUBY = /usr/local/bin/ruby --disable=gems CC = gcc LD = ld LDSHARED = gcc -shared CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wno-cast-function-type -Wunused-variable -Werror=implicit-int -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=deprecated-declarations -Wno-overlength-strings -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wmissing-noreturn -std=gnu99 XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN CPPFLAGS = -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/10.0.0 DLDFLAGS = -fstack-protector-strong -pie SOLIBS = -lpthread -lrt -lrt -ldl -lcrypt -lm LANG = en_US.utf8 LC_ALL = LC_CTYPE = gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7) Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. compiling dln.c compiling localeinit.c creating verconf.h verconf.h updated compiling loadpath.c compiling prelude.c linking static-library libruby-static.a linking ruby ./libruby-static.a(gc.o): In function `gc_verify_transient_heap_internal_consistency': /home/duerst/ruby2/gc.c:5529: undefined reference to `rb_transient_heap_verify' ./libruby-static.a(gc.o): In function `RVALUE_PAGE_OLD_UNCOLLECTIBLE_SET': /home/duerst/ruby2/gc.c:1192: undefined reference to `rb_transient_heap_promote' /home/duerst/ruby2/gc.c:1192: undefined reference to `rb_transient_heap_promote' ./libruby-static.a(gc.o): In function `mark_hash': /home/duerst/ruby2/gc.c:4258: undefined reference to `rb_transient_heap_mark' ./libruby-static.a(gc.o): In function `gc_marks_finish': /home/duerst/ruby2/gc.c:5749: undefined reference to `rb_transient_heap_finish_marking' ./libruby-static.a(gc.o): In function `gc_start': /home/duerst/ruby2/gc.c:6642: undefined reference to `rb_transient_heap_start_marking' ./libruby-static.a(gc.o): In function `RVALUE_PAGE_OLD_UNCOLLECTIBLE_SET': /home/duerst/ruby2/gc.c:1192: undefined reference to `rb_transient_heap_promote' ./libruby-static.a(gc.o): In function `gc_mark_children': /home/duerst/ruby2/gc.c:4830: undefined reference to `rb_transient_heap_mark' ./libruby-static.a(hash.o): In function `linear_copy': /home/duerst/ruby2/hash.c:992: undefined reference to `rb_transient_heap_alloc' ./libruby-static.a(hash.o): In function `linear_init_table': /home/duerst/ruby2/hash.c:538: undefined reference to `rb_transient_heap_alloc' /home/duerst/ruby2/hash.c:538: undefined reference to `rb_transient_heap_alloc' /home/duerst/ruby2/hash.c:538: undefined reference to `rb_transient_heap_alloc' /home/duerst/ruby2/hash.c:538: undefined reference to `rb_transient_heap_alloc' ./libruby-static.a(hash.o):/home/duerst/ruby2/hash.c:538: more undefined references to `rb_transient_heap_alloc' follow ./libruby-static.a(inits.o): In function `rb_call_inits': /home/duerst/ruby2/inits.c:20: undefined reference to `Init_TransientHeap' collect2: error: ld returned 1 exit status make: *** [ruby] Error 1 [duerst@stazersee ruby2]$