xref: /freebsd/contrib/byacc/error.c (revision 2aca18c7)
1*2aca18c7SJung-uk Kim /* $Id: error.c,v 1.14 2016/12/02 18:35:55 tom Exp $ */
298e903e7SBaptiste Daroussin 
398e903e7SBaptiste Daroussin /* routines for printing error messages  */
498e903e7SBaptiste Daroussin 
598e903e7SBaptiste Daroussin #include "defs.h"
698e903e7SBaptiste Daroussin 
798e903e7SBaptiste Daroussin void
fatal(const char * msg)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
no_space(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
open_error(const char * filename)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
missing_brace(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
unexpected_EOF(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
print_pos(const char * st_line,const char * st_cptr)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
syntax_error(int st_lineno,char * st_line,char * st_cptr)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
unterminated_comment(const struct ainfo * a)80*2aca18c7SJung-uk Kim unterminated_comment(const struct ainfo *a)
8198e903e7SBaptiste Daroussin {
8298e903e7SBaptiste Daroussin     fprintf(stderr, "%s: e - line %d of \"%s\", unmatched /*\n",
83*2aca18c7SJung-uk Kim 	    myname, a->a_lineno, input_file_name);
84*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
8598e903e7SBaptiste Daroussin     done(1);
8698e903e7SBaptiste Daroussin }
8798e903e7SBaptiste Daroussin 
8898e903e7SBaptiste Daroussin void
unterminated_string(const struct ainfo * a)89*2aca18c7SJung-uk Kim unterminated_string(const struct ainfo *a)
9098e903e7SBaptiste Daroussin {
9198e903e7SBaptiste Daroussin     fprintf(stderr, "%s: e - line %d of \"%s\", unterminated string\n",
92*2aca18c7SJung-uk Kim 	    myname, a->a_lineno, input_file_name);
93*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
9498e903e7SBaptiste Daroussin     done(1);
9598e903e7SBaptiste Daroussin }
9698e903e7SBaptiste Daroussin 
9798e903e7SBaptiste Daroussin void
unterminated_text(const struct ainfo * a)98*2aca18c7SJung-uk Kim unterminated_text(const struct ainfo *a)
9998e903e7SBaptiste Daroussin {
10098e903e7SBaptiste Daroussin     fprintf(stderr, "%s: e - line %d of \"%s\", unmatched %%{\n",
101*2aca18c7SJung-uk Kim 	    myname, a->a_lineno, input_file_name);
102*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
10398e903e7SBaptiste Daroussin     done(1);
10498e903e7SBaptiste Daroussin }
10598e903e7SBaptiste Daroussin 
10698e903e7SBaptiste Daroussin void
unterminated_union(const struct ainfo * a)107*2aca18c7SJung-uk Kim unterminated_union(const struct ainfo *a)
10898e903e7SBaptiste Daroussin {
10998e903e7SBaptiste Daroussin     fprintf(stderr, "%s: e - line %d of \"%s\", unterminated %%union \
110*2aca18c7SJung-uk Kim declaration\n", myname, a->a_lineno, input_file_name);
111*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
11298e903e7SBaptiste Daroussin     done(1);
11398e903e7SBaptiste Daroussin }
11498e903e7SBaptiste Daroussin 
11598e903e7SBaptiste Daroussin void
over_unionized(char * u_cptr)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
illegal_tag(int t_lineno,char * t_line,char * t_cptr)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
illegal_character(char * c_cptr)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
used_reserved(char * s)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
tokenized_start(char * s)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
retyped_warning(char * s)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
reprec_warning(char * s)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
revalued_warning(char * s)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
terminal_start(char * s)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
restarted_warning(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
no_grammar(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
terminal_lhs(int s_lineno)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
prec_redeclared(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
unterminated_action(const struct ainfo * a)221*2aca18c7SJung-uk Kim unterminated_action(const struct ainfo *a)
22298e903e7SBaptiste Daroussin {
22398e903e7SBaptiste Daroussin     fprintf(stderr, "%s: e - line %d of \"%s\", unterminated action\n",
224*2aca18c7SJung-uk Kim 	    myname, a->a_lineno, input_file_name);
225*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
22698e903e7SBaptiste Daroussin     done(1);
22798e903e7SBaptiste Daroussin }
22898e903e7SBaptiste Daroussin 
22998e903e7SBaptiste Daroussin void
dollar_warning(int a_lineno,int i)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
dollar_error(int a_lineno,char * a_line,char * a_cptr)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
untyped_lhs(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
untyped_rhs(int i,char * s)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
unknown_rhs(int i)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
default_action_warning(char * s)270c5b5d71aSJung-uk Kim default_action_warning(char *s)
27198e903e7SBaptiste Daroussin {
27298e903e7SBaptiste Daroussin     fprintf(stderr,
273c5b5d71aSJung-uk Kim 	    "%s: w - line %d of \"%s\", the default action for %s assigns an \
274c5b5d71aSJung-uk Kim undefined value to $$\n",
275c5b5d71aSJung-uk Kim 	    myname, lineno, input_file_name, s);
27698e903e7SBaptiste Daroussin }
27798e903e7SBaptiste Daroussin 
27898e903e7SBaptiste Daroussin void
undefined_goal(char * s)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
undefined_symbol_warning(char * s)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
unsupported_flag_warning(const char * flag,const char * details)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
at_warning(int a_lineno,int i)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
at_error(int a_lineno,char * a_line,char * a_cptr)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
unterminated_arglist(const struct ainfo * a)319*2aca18c7SJung-uk Kim unterminated_arglist(const struct ainfo *a)
3200c8de5b0SBaptiste Daroussin {
3210c8de5b0SBaptiste Daroussin     fprintf(stderr,
3220c8de5b0SBaptiste Daroussin 	    "%s: e - line %d of \"%s\", unterminated argument list\n",
323*2aca18c7SJung-uk Kim 	    myname, a->a_lineno, input_file_name);
324*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
3250c8de5b0SBaptiste Daroussin     done(1);
3260c8de5b0SBaptiste Daroussin }
3270c8de5b0SBaptiste Daroussin 
3280c8de5b0SBaptiste Daroussin void
arg_number_disagree_warning(int a_lineno,char * a_name)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
bad_formals(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
arg_type_disagree_warning(int a_lineno,int i,char * a_name)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
unknown_arg_warning(int d_lineno,const char * dlr_opt,const char * d_arg,const char * d_line,const char * d_cptr)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
untyped_arg_warning(int a_lineno,const char * dlr_opt,const char * a_name)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
wrong_number_args_warning(const char * which,const char * a_name)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
wrong_type_for_arg_warning(int i,char * a_name)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
start_requires_args(char * a_name)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
destructor_redeclared_warning(const struct ainfo * a)397*2aca18c7SJung-uk Kim destructor_redeclared_warning(const struct ainfo *a)
3980c8de5b0SBaptiste Daroussin {
3990c8de5b0SBaptiste Daroussin     fprintf(stderr, "%s: w - line %d of \"%s\", destructor redeclared\n",
400*2aca18c7SJung-uk Kim 	    myname, a->a_lineno, input_file_name);
401*2aca18c7SJung-uk Kim     print_pos(a->a_line, a->a_cptr);
4020c8de5b0SBaptiste Daroussin }
4030c8de5b0SBaptiste Daroussin #endif
404