1*c5b5d71aSJung-uk Kim /* $Id: error.c,v 1.13 2016/06/07 00:15:16 tom Exp $ */ 298e903e7SBaptiste Daroussin 398e903e7SBaptiste Daroussin /* routines for printing error messages */ 498e903e7SBaptiste Daroussin 598e903e7SBaptiste Daroussin #include "defs.h" 698e903e7SBaptiste Daroussin 798e903e7SBaptiste Daroussin void 898e903e7SBaptiste Daroussin fatal(const char *msg) 998e903e7SBaptiste Daroussin { 1098e903e7SBaptiste Daroussin fprintf(stderr, "%s: f - %s\n", myname, msg); 1198e903e7SBaptiste Daroussin done(2); 1298e903e7SBaptiste Daroussin } 1398e903e7SBaptiste Daroussin 1498e903e7SBaptiste Daroussin void 1598e903e7SBaptiste Daroussin no_space(void) 1698e903e7SBaptiste Daroussin { 1798e903e7SBaptiste Daroussin fprintf(stderr, "%s: f - out of space\n", myname); 1898e903e7SBaptiste Daroussin done(2); 1998e903e7SBaptiste Daroussin } 2098e903e7SBaptiste Daroussin 2198e903e7SBaptiste Daroussin void 2298e903e7SBaptiste Daroussin open_error(const char *filename) 2398e903e7SBaptiste Daroussin { 2498e903e7SBaptiste Daroussin fprintf(stderr, "%s: f - cannot open \"%s\"\n", myname, filename); 2598e903e7SBaptiste Daroussin done(2); 2698e903e7SBaptiste Daroussin } 2798e903e7SBaptiste Daroussin 2898e903e7SBaptiste Daroussin void 2998e903e7SBaptiste Daroussin missing_brace(void) 3098e903e7SBaptiste Daroussin { 3198e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", missing '}'\n", 3298e903e7SBaptiste Daroussin myname, lineno, input_file_name); 3398e903e7SBaptiste Daroussin done(1); 3498e903e7SBaptiste Daroussin } 3598e903e7SBaptiste Daroussin 3698e903e7SBaptiste Daroussin void 3798e903e7SBaptiste Daroussin unexpected_EOF(void) 3898e903e7SBaptiste Daroussin { 3998e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", unexpected end-of-file\n", 4098e903e7SBaptiste Daroussin myname, lineno, input_file_name); 4198e903e7SBaptiste Daroussin done(1); 4298e903e7SBaptiste Daroussin } 4398e903e7SBaptiste Daroussin 4498e903e7SBaptiste Daroussin static void 450c8de5b0SBaptiste Daroussin print_pos(const char *st_line, const char *st_cptr) 4698e903e7SBaptiste Daroussin { 470c8de5b0SBaptiste Daroussin const char *s; 4898e903e7SBaptiste Daroussin 4998e903e7SBaptiste Daroussin if (st_line == 0) 5098e903e7SBaptiste Daroussin return; 5198e903e7SBaptiste Daroussin for (s = st_line; *s != '\n'; ++s) 5298e903e7SBaptiste Daroussin { 5398e903e7SBaptiste Daroussin if (isprint(UCH(*s)) || *s == '\t') 5498e903e7SBaptiste Daroussin putc(*s, stderr); 5598e903e7SBaptiste Daroussin else 5698e903e7SBaptiste Daroussin putc('?', stderr); 5798e903e7SBaptiste Daroussin } 5898e903e7SBaptiste Daroussin putc('\n', stderr); 5998e903e7SBaptiste Daroussin for (s = st_line; s < st_cptr; ++s) 6098e903e7SBaptiste Daroussin { 6198e903e7SBaptiste Daroussin if (*s == '\t') 6298e903e7SBaptiste Daroussin putc('\t', stderr); 6398e903e7SBaptiste Daroussin else 6498e903e7SBaptiste Daroussin putc(' ', stderr); 6598e903e7SBaptiste Daroussin } 6698e903e7SBaptiste Daroussin putc('^', stderr); 6798e903e7SBaptiste Daroussin putc('\n', stderr); 6898e903e7SBaptiste Daroussin } 6998e903e7SBaptiste Daroussin 7098e903e7SBaptiste Daroussin void 7198e903e7SBaptiste Daroussin syntax_error(int st_lineno, char *st_line, char *st_cptr) 7298e903e7SBaptiste Daroussin { 7398e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", syntax error\n", 7498e903e7SBaptiste Daroussin myname, st_lineno, input_file_name); 7598e903e7SBaptiste Daroussin print_pos(st_line, st_cptr); 7698e903e7SBaptiste Daroussin done(1); 7798e903e7SBaptiste Daroussin } 7898e903e7SBaptiste Daroussin 7998e903e7SBaptiste Daroussin void 8098e903e7SBaptiste Daroussin unterminated_comment(int c_lineno, char *c_line, char *c_cptr) 8198e903e7SBaptiste Daroussin { 8298e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", unmatched /*\n", 8398e903e7SBaptiste Daroussin myname, c_lineno, input_file_name); 8498e903e7SBaptiste Daroussin print_pos(c_line, c_cptr); 8598e903e7SBaptiste Daroussin done(1); 8698e903e7SBaptiste Daroussin } 8798e903e7SBaptiste Daroussin 8898e903e7SBaptiste Daroussin void 8998e903e7SBaptiste Daroussin unterminated_string(int s_lineno, char *s_line, char *s_cptr) 9098e903e7SBaptiste Daroussin { 9198e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", unterminated string\n", 9298e903e7SBaptiste Daroussin myname, s_lineno, input_file_name); 9398e903e7SBaptiste Daroussin print_pos(s_line, s_cptr); 9498e903e7SBaptiste Daroussin done(1); 9598e903e7SBaptiste Daroussin } 9698e903e7SBaptiste Daroussin 9798e903e7SBaptiste Daroussin void 9898e903e7SBaptiste Daroussin unterminated_text(int t_lineno, char *t_line, char *t_cptr) 9998e903e7SBaptiste Daroussin { 10098e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", unmatched %%{\n", 10198e903e7SBaptiste Daroussin myname, t_lineno, input_file_name); 10298e903e7SBaptiste Daroussin print_pos(t_line, t_cptr); 10398e903e7SBaptiste Daroussin done(1); 10498e903e7SBaptiste Daroussin } 10598e903e7SBaptiste Daroussin 10698e903e7SBaptiste Daroussin void 10798e903e7SBaptiste Daroussin unterminated_union(int u_lineno, char *u_line, char *u_cptr) 10898e903e7SBaptiste Daroussin { 10998e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", unterminated %%union \ 11098e903e7SBaptiste Daroussin declaration\n", myname, u_lineno, input_file_name); 11198e903e7SBaptiste Daroussin print_pos(u_line, u_cptr); 11298e903e7SBaptiste Daroussin done(1); 11398e903e7SBaptiste Daroussin } 11498e903e7SBaptiste Daroussin 11598e903e7SBaptiste Daroussin void 11698e903e7SBaptiste Daroussin over_unionized(char *u_cptr) 11798e903e7SBaptiste Daroussin { 11898e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", too many %%union \ 11998e903e7SBaptiste Daroussin declarations\n", myname, lineno, input_file_name); 12098e903e7SBaptiste Daroussin print_pos(line, u_cptr); 12198e903e7SBaptiste Daroussin done(1); 12298e903e7SBaptiste Daroussin } 12398e903e7SBaptiste Daroussin 12498e903e7SBaptiste Daroussin void 12598e903e7SBaptiste Daroussin illegal_tag(int t_lineno, char *t_line, char *t_cptr) 12698e903e7SBaptiste Daroussin { 12798e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", illegal tag\n", 12898e903e7SBaptiste Daroussin myname, t_lineno, input_file_name); 12998e903e7SBaptiste Daroussin print_pos(t_line, t_cptr); 13098e903e7SBaptiste Daroussin done(1); 13198e903e7SBaptiste Daroussin } 13298e903e7SBaptiste Daroussin 13398e903e7SBaptiste Daroussin void 13498e903e7SBaptiste Daroussin illegal_character(char *c_cptr) 13598e903e7SBaptiste Daroussin { 13698e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", illegal character\n", 13798e903e7SBaptiste Daroussin myname, lineno, input_file_name); 13898e903e7SBaptiste Daroussin print_pos(line, c_cptr); 13998e903e7SBaptiste Daroussin done(1); 14098e903e7SBaptiste Daroussin } 14198e903e7SBaptiste Daroussin 14298e903e7SBaptiste Daroussin void 14398e903e7SBaptiste Daroussin used_reserved(char *s) 14498e903e7SBaptiste Daroussin { 14598e903e7SBaptiste Daroussin fprintf(stderr, 14698e903e7SBaptiste Daroussin "%s: e - line %d of \"%s\", illegal use of reserved symbol \ 14798e903e7SBaptiste Daroussin %s\n", myname, lineno, input_file_name, s); 14898e903e7SBaptiste Daroussin done(1); 14998e903e7SBaptiste Daroussin } 15098e903e7SBaptiste Daroussin 15198e903e7SBaptiste Daroussin void 15298e903e7SBaptiste Daroussin tokenized_start(char *s) 15398e903e7SBaptiste Daroussin { 15498e903e7SBaptiste Daroussin fprintf(stderr, 15598e903e7SBaptiste Daroussin "%s: e - line %d of \"%s\", the start symbol %s cannot be \ 15698e903e7SBaptiste Daroussin declared to be a token\n", myname, lineno, input_file_name, s); 15798e903e7SBaptiste Daroussin done(1); 15898e903e7SBaptiste Daroussin } 15998e903e7SBaptiste Daroussin 16098e903e7SBaptiste Daroussin void 16198e903e7SBaptiste Daroussin retyped_warning(char *s) 16298e903e7SBaptiste Daroussin { 16398e903e7SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", the type of %s has been \ 16498e903e7SBaptiste Daroussin redeclared\n", myname, lineno, input_file_name, s); 16598e903e7SBaptiste Daroussin } 16698e903e7SBaptiste Daroussin 16798e903e7SBaptiste Daroussin void 16898e903e7SBaptiste Daroussin reprec_warning(char *s) 16998e903e7SBaptiste Daroussin { 17098e903e7SBaptiste Daroussin fprintf(stderr, 17198e903e7SBaptiste Daroussin "%s: w - line %d of \"%s\", the precedence of %s has been \ 17298e903e7SBaptiste Daroussin redeclared\n", myname, lineno, input_file_name, s); 17398e903e7SBaptiste Daroussin } 17498e903e7SBaptiste Daroussin 17598e903e7SBaptiste Daroussin void 17698e903e7SBaptiste Daroussin revalued_warning(char *s) 17798e903e7SBaptiste Daroussin { 17898e903e7SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", the value of %s has been \ 17998e903e7SBaptiste Daroussin redeclared\n", myname, lineno, input_file_name, s); 18098e903e7SBaptiste Daroussin } 18198e903e7SBaptiste Daroussin 18298e903e7SBaptiste Daroussin void 18398e903e7SBaptiste Daroussin terminal_start(char *s) 18498e903e7SBaptiste Daroussin { 18598e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s is a \ 18698e903e7SBaptiste Daroussin token\n", myname, lineno, input_file_name, s); 18798e903e7SBaptiste Daroussin done(1); 18898e903e7SBaptiste Daroussin } 18998e903e7SBaptiste Daroussin 19098e903e7SBaptiste Daroussin void 19198e903e7SBaptiste Daroussin restarted_warning(void) 19298e903e7SBaptiste Daroussin { 19398e903e7SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", the start symbol has been \ 19498e903e7SBaptiste Daroussin redeclared\n", myname, lineno, input_file_name); 19598e903e7SBaptiste Daroussin } 19698e903e7SBaptiste Daroussin 19798e903e7SBaptiste Daroussin void 19898e903e7SBaptiste Daroussin no_grammar(void) 19998e903e7SBaptiste Daroussin { 20098e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", no grammar has been \ 20198e903e7SBaptiste Daroussin specified\n", myname, lineno, input_file_name); 20298e903e7SBaptiste Daroussin done(1); 20398e903e7SBaptiste Daroussin } 20498e903e7SBaptiste Daroussin 20598e903e7SBaptiste Daroussin void 20698e903e7SBaptiste Daroussin terminal_lhs(int s_lineno) 20798e903e7SBaptiste Daroussin { 20898e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", a token appears on the lhs \ 20998e903e7SBaptiste Daroussin of a production\n", myname, s_lineno, input_file_name); 21098e903e7SBaptiste Daroussin done(1); 21198e903e7SBaptiste Daroussin } 21298e903e7SBaptiste Daroussin 21398e903e7SBaptiste Daroussin void 21498e903e7SBaptiste Daroussin prec_redeclared(void) 21598e903e7SBaptiste Daroussin { 21698e903e7SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", conflicting %%prec \ 21798e903e7SBaptiste Daroussin specifiers\n", myname, lineno, input_file_name); 21898e903e7SBaptiste Daroussin } 21998e903e7SBaptiste Daroussin 22098e903e7SBaptiste Daroussin void 22198e903e7SBaptiste Daroussin unterminated_action(int a_lineno, char *a_line, char *a_cptr) 22298e903e7SBaptiste Daroussin { 22398e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", unterminated action\n", 22498e903e7SBaptiste Daroussin myname, a_lineno, input_file_name); 22598e903e7SBaptiste Daroussin print_pos(a_line, a_cptr); 22698e903e7SBaptiste Daroussin done(1); 22798e903e7SBaptiste Daroussin } 22898e903e7SBaptiste Daroussin 22998e903e7SBaptiste Daroussin void 23098e903e7SBaptiste Daroussin dollar_warning(int a_lineno, int i) 23198e903e7SBaptiste Daroussin { 23298e903e7SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", $%d references beyond the \ 23398e903e7SBaptiste Daroussin end of the current rule\n", myname, a_lineno, input_file_name, i); 23498e903e7SBaptiste Daroussin } 23598e903e7SBaptiste Daroussin 23698e903e7SBaptiste Daroussin void 23798e903e7SBaptiste Daroussin dollar_error(int a_lineno, char *a_line, char *a_cptr) 23898e903e7SBaptiste Daroussin { 23998e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", illegal $-name\n", 24098e903e7SBaptiste Daroussin myname, a_lineno, input_file_name); 24198e903e7SBaptiste Daroussin print_pos(a_line, a_cptr); 24298e903e7SBaptiste Daroussin done(1); 24398e903e7SBaptiste Daroussin } 24498e903e7SBaptiste Daroussin 24598e903e7SBaptiste Daroussin void 24698e903e7SBaptiste Daroussin untyped_lhs(void) 24798e903e7SBaptiste Daroussin { 24898e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", $$ is untyped\n", 24998e903e7SBaptiste Daroussin myname, lineno, input_file_name); 25098e903e7SBaptiste Daroussin done(1); 25198e903e7SBaptiste Daroussin } 25298e903e7SBaptiste Daroussin 25398e903e7SBaptiste Daroussin void 25498e903e7SBaptiste Daroussin untyped_rhs(int i, char *s) 25598e903e7SBaptiste Daroussin { 25698e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", $%d (%s) is untyped\n", 25798e903e7SBaptiste Daroussin myname, lineno, input_file_name, i, s); 25898e903e7SBaptiste Daroussin done(1); 25998e903e7SBaptiste Daroussin } 26098e903e7SBaptiste Daroussin 26198e903e7SBaptiste Daroussin void 26298e903e7SBaptiste Daroussin unknown_rhs(int i) 26398e903e7SBaptiste Daroussin { 26498e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", $%d is untyped\n", 26598e903e7SBaptiste Daroussin myname, lineno, input_file_name, i); 26698e903e7SBaptiste Daroussin done(1); 26798e903e7SBaptiste Daroussin } 26898e903e7SBaptiste Daroussin 26998e903e7SBaptiste Daroussin void 270*c5b5d71aSJung-uk Kim default_action_warning(char *s) 27198e903e7SBaptiste Daroussin { 27298e903e7SBaptiste Daroussin fprintf(stderr, 273*c5b5d71aSJung-uk Kim "%s: w - line %d of \"%s\", the default action for %s assigns an \ 274*c5b5d71aSJung-uk Kim undefined value to $$\n", 275*c5b5d71aSJung-uk Kim myname, lineno, input_file_name, s); 27698e903e7SBaptiste Daroussin } 27798e903e7SBaptiste Daroussin 27898e903e7SBaptiste Daroussin void 27998e903e7SBaptiste Daroussin undefined_goal(char *s) 28098e903e7SBaptiste Daroussin { 28198e903e7SBaptiste Daroussin fprintf(stderr, "%s: e - the start symbol %s is undefined\n", myname, s); 28298e903e7SBaptiste Daroussin done(1); 28398e903e7SBaptiste Daroussin } 28498e903e7SBaptiste Daroussin 28598e903e7SBaptiste Daroussin void 28698e903e7SBaptiste Daroussin undefined_symbol_warning(char *s) 28798e903e7SBaptiste Daroussin { 28898e903e7SBaptiste Daroussin fprintf(stderr, "%s: w - the symbol %s is undefined\n", myname, s); 28998e903e7SBaptiste Daroussin } 2900c8de5b0SBaptiste Daroussin 2910c8de5b0SBaptiste Daroussin #if ! defined(YYBTYACC) 2920c8de5b0SBaptiste Daroussin void 2930c8de5b0SBaptiste Daroussin unsupported_flag_warning(const char *flag, const char *details) 2940c8de5b0SBaptiste Daroussin { 2950c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - %s flag unsupported, %s\n", 2960c8de5b0SBaptiste Daroussin myname, flag, details); 2970c8de5b0SBaptiste Daroussin } 2980c8de5b0SBaptiste Daroussin #endif 2990c8de5b0SBaptiste Daroussin 3000c8de5b0SBaptiste Daroussin #if defined(YYBTYACC) 3010c8de5b0SBaptiste Daroussin void 3020c8de5b0SBaptiste Daroussin at_warning(int a_lineno, int i) 3030c8de5b0SBaptiste Daroussin { 3040c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", @%d references beyond the \ 3050c8de5b0SBaptiste Daroussin end of the current rule\n", myname, a_lineno, input_file_name, i); 3060c8de5b0SBaptiste Daroussin } 3070c8de5b0SBaptiste Daroussin 3080c8de5b0SBaptiste Daroussin void 3090c8de5b0SBaptiste Daroussin at_error(int a_lineno, char *a_line, char *a_cptr) 3100c8de5b0SBaptiste Daroussin { 3110c8de5b0SBaptiste Daroussin fprintf(stderr, 3120c8de5b0SBaptiste Daroussin "%s: e - line %d of \"%s\", illegal @$ or @N reference\n", 3130c8de5b0SBaptiste Daroussin myname, a_lineno, input_file_name); 3140c8de5b0SBaptiste Daroussin print_pos(a_line, a_cptr); 3150c8de5b0SBaptiste Daroussin done(1); 3160c8de5b0SBaptiste Daroussin } 3170c8de5b0SBaptiste Daroussin 3180c8de5b0SBaptiste Daroussin void 3190c8de5b0SBaptiste Daroussin unterminated_arglist(int a_lineno, char *a_line, char *a_cptr) 3200c8de5b0SBaptiste Daroussin { 3210c8de5b0SBaptiste Daroussin fprintf(stderr, 3220c8de5b0SBaptiste Daroussin "%s: e - line %d of \"%s\", unterminated argument list\n", 3230c8de5b0SBaptiste Daroussin myname, a_lineno, input_file_name); 3240c8de5b0SBaptiste Daroussin print_pos(a_line, a_cptr); 3250c8de5b0SBaptiste Daroussin done(1); 3260c8de5b0SBaptiste Daroussin } 3270c8de5b0SBaptiste Daroussin 3280c8de5b0SBaptiste Daroussin void 3290c8de5b0SBaptiste Daroussin arg_number_disagree_warning(int a_lineno, char *a_name) 3300c8de5b0SBaptiste Daroussin { 3310c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", number of arguments of %s " 3320c8de5b0SBaptiste Daroussin "doesn't agree with previous declaration\n", 3330c8de5b0SBaptiste Daroussin myname, a_lineno, input_file_name, a_name); 3340c8de5b0SBaptiste Daroussin } 3350c8de5b0SBaptiste Daroussin 3360c8de5b0SBaptiste Daroussin void 3370c8de5b0SBaptiste Daroussin bad_formals(void) 3380c8de5b0SBaptiste Daroussin { 3390c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: e - line %d of \"%s\", bad formal argument list\n", 3400c8de5b0SBaptiste Daroussin myname, lineno, input_file_name); 3410c8de5b0SBaptiste Daroussin print_pos(line, cptr); 3420c8de5b0SBaptiste Daroussin done(1); 3430c8de5b0SBaptiste Daroussin } 3440c8de5b0SBaptiste Daroussin 3450c8de5b0SBaptiste Daroussin void 3460c8de5b0SBaptiste Daroussin arg_type_disagree_warning(int a_lineno, int i, char *a_name) 3470c8de5b0SBaptiste Daroussin { 3480c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", type of argument %d " 3490c8de5b0SBaptiste Daroussin "to %s doesn't agree with previous declaration\n", 3500c8de5b0SBaptiste Daroussin myname, a_lineno, input_file_name, i, a_name); 3510c8de5b0SBaptiste Daroussin } 3520c8de5b0SBaptiste Daroussin 3530c8de5b0SBaptiste Daroussin void 3540c8de5b0SBaptiste Daroussin unknown_arg_warning(int d_lineno, const char *dlr_opt, const char *d_arg, const char 3550c8de5b0SBaptiste Daroussin *d_line, const char *d_cptr) 3560c8de5b0SBaptiste Daroussin { 3570c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", unknown argument %s%s\n", 3580c8de5b0SBaptiste Daroussin myname, d_lineno, input_file_name, dlr_opt, d_arg); 3590c8de5b0SBaptiste Daroussin print_pos(d_line, d_cptr); 3600c8de5b0SBaptiste Daroussin } 3610c8de5b0SBaptiste Daroussin 3620c8de5b0SBaptiste Daroussin void 3630c8de5b0SBaptiste Daroussin untyped_arg_warning(int a_lineno, const char *dlr_opt, const char *a_name) 3640c8de5b0SBaptiste Daroussin { 3650c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", untyped argument %s%s\n", 3660c8de5b0SBaptiste Daroussin myname, a_lineno, input_file_name, dlr_opt, a_name); 3670c8de5b0SBaptiste Daroussin } 3680c8de5b0SBaptiste Daroussin 3690c8de5b0SBaptiste Daroussin void 3700c8de5b0SBaptiste Daroussin wrong_number_args_warning(const char *which, const char *a_name) 3710c8de5b0SBaptiste Daroussin { 3720c8de5b0SBaptiste Daroussin fprintf(stderr, 3730c8de5b0SBaptiste Daroussin "%s: w - line %d of \"%s\", wrong number of %sarguments for %s\n", 3740c8de5b0SBaptiste Daroussin myname, lineno, input_file_name, which, a_name); 3750c8de5b0SBaptiste Daroussin print_pos(line, cptr); 3760c8de5b0SBaptiste Daroussin } 3770c8de5b0SBaptiste Daroussin 3780c8de5b0SBaptiste Daroussin void 3790c8de5b0SBaptiste Daroussin wrong_type_for_arg_warning(int i, char *a_name) 3800c8de5b0SBaptiste Daroussin { 3810c8de5b0SBaptiste Daroussin fprintf(stderr, 3820c8de5b0SBaptiste Daroussin "%s: w - line %d of \"%s\", wrong type for default argument %d to %s\n", 3830c8de5b0SBaptiste Daroussin myname, lineno, input_file_name, i, a_name); 3840c8de5b0SBaptiste Daroussin print_pos(line, cptr); 3850c8de5b0SBaptiste Daroussin } 3860c8de5b0SBaptiste Daroussin 3870c8de5b0SBaptiste Daroussin void 3880c8de5b0SBaptiste Daroussin start_requires_args(char *a_name) 3890c8de5b0SBaptiste Daroussin { 3900c8de5b0SBaptiste Daroussin fprintf(stderr, 3910c8de5b0SBaptiste Daroussin "%s: w - line %d of \"%s\", start symbol %s requires arguments\n", 3920c8de5b0SBaptiste Daroussin myname, 0, input_file_name, a_name); 3930c8de5b0SBaptiste Daroussin 3940c8de5b0SBaptiste Daroussin } 3950c8de5b0SBaptiste Daroussin 3960c8de5b0SBaptiste Daroussin void 3970c8de5b0SBaptiste Daroussin destructor_redeclared_warning(int a_lineno, char *a_line, char *a_cptr) 3980c8de5b0SBaptiste Daroussin { 3990c8de5b0SBaptiste Daroussin fprintf(stderr, "%s: w - line %d of \"%s\", destructor redeclared\n", 4000c8de5b0SBaptiste Daroussin myname, a_lineno, input_file_name); 4010c8de5b0SBaptiste Daroussin print_pos(a_line, a_cptr); 4020c8de5b0SBaptiste Daroussin } 4030c8de5b0SBaptiste Daroussin #endif 404