Back when I wrote C for a living, I took pride in writing my code so that it compiled with no errors and also no warnings.
~# ~/undrop-for-innodb# make cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c stream_parser.c stream_parser.c: In function ‘valid_innodb_page’: stream_parser.c:151:31: warning: variable ‘oldcsumfield’ set but not used [-Wunused-but-set-variable] unsigned int page_n_heap, oldcsumfield; ^ stream_parser.c: In function ‘process_ibpage’: stream_parser.c:313:9: warning: variable ‘sem’ set but not used [-Wunused-but-set-variable] int sem = (page_type == FIL_PAGE_INDEX) ^ stream_parser.c: In function ‘process_ibfile’: stream_parser.c:333:13: warning: variable ‘prev_disk_offset’ set but not used [-Wunused-but-set-variable] off64_t prev_disk_offset = 0; ^ cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -pthread -lm stream_parser.o -o stream_parser flex sql_parser.l bison -o sql_parser.c sql_parser.y sql_parser.y: warning: 6 shift/reduce conflicts [-Wconflicts-sr] cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c sql_parser.c sql_parser.y: In function ‘yyparse’: sql_parser.y:166:39: warning: variable ‘none’ set but not used [-Wunused-but-set-variable] field_def_t trx_id, roll_ptr, none; ^ In file included from sql_parser.y:660:0: sql_parser.y: At top level: lex.yy.c:3101:17: warning: ‘yyunput’ defined but not used [-Wunused-function] static void yyunput (int c, register char * yy_bp ) ^ lex.yy.c:3142:16: warning: ‘input’ defined but not used [-Wunused-function] static int input (void) ^ cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c c_parser.c In file included from c_parser.c:39:0: decimal.c: In function ‘decimal_intg’: decimal.c:1923:9: warning: variable ‘tmp_res’ set but not used [-Wunused-but-set-variable] In file included from c_parser.c:35:0: c_parser.c: At top level: ./include/ctype-latin1.c:359:5: warning: ‘my_mb_wc_latin1’ defined but not used [-Wunused-function] int my_mb_wc_latin1(CHARSET_INFO *cs __attribute__((unused)), ^ ./include/ctype-latin1.c:372:5: warning: ‘my_wc_mb_latin1’ defined but not used [-Wunused-function] int my_wc_mb_latin1(CHARSET_INFO *cs __attribute__((unused)), ^ In file included from c_parser.c:39:0: decimal.c: In function ‘do_div_mod’: decimal.c:2123:55: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:2138:52: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:2123:55: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:2138:52: warning: array subscript is below array bounds [-Warray-bounds] decimal.c: In function ‘decimal_actual_fraction’: decimal.c:309:26: warning: array subscript is above array bounds [-Warray-bounds] decimal.c:309:26: warning: array subscript is above array bounds [-Warray-bounds] decimal.c: In function ‘decimal2string’: decimal.c:273:56: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:273:56: warning: array subscript is below array bounds [-Warray-bounds] decimal.c: In function ‘decimal2bin’: decimal.c:273:56: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:273:56: warning: array subscript is below array bounds [-Warray-bounds] decimal.c: In function ‘decimal_shift’: decimal.c:486:31: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:504:29: warning: array subscript is above array bounds [-Warray-bounds] decimal.c:504:29: warning: array subscript is above array bounds [-Warray-bounds] decimal.c:486:31: warning: array subscript is below array bounds [-Warray-bounds] decimal.c: In function ‘decimal_intg’: decimal.c:273:56: warning: array subscript is below array bounds [-Warray-bounds] decimal.c:273:56: warning: array subscript is below array bounds [-Warray-bounds] cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c tables_dict.c cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c print_data.c cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c check_data.c cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include sql_parser.o c_parser.o tables_dict.o print_data.o check_data.o -o c_parser -pthread -lm cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -o innochecksum_changer innochecksum.c ~/undrop-for-innodb#
This seems to have worked - it's created a few binaries, anyway.
Go up
Return to main index.