glcpp: Introduce new glcpp_error function.

This commit is contained in:
Kenneth Graunke
2010-06-17 12:03:25 -07:00
parent b78c9ddfbf
commit f1e6c069fa
3 changed files with 18 additions and 2 deletions

View File

@@ -879,8 +879,7 @@ _token_list_print (glcpp_parser_t *parser, token_list_t *list)
void
yyerror (YYLTYPE *locp, glcpp_parser_t *parser, const char *error)
{
glcpp_printf(parser->errors, "%u:%u(%u): preprocessor error: %s\n",
locp->source, locp->first_line, locp->first_column, error);
glcpp_error(locp, parser, "%s", error);
}
glcpp_parser_t *

View File

@@ -165,6 +165,9 @@ glcpp_parser_parse (glcpp_parser_t *parser);
void
glcpp_parser_destroy (glcpp_parser_t *parser);
void
glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...);
/* Generated by glcpp-lex.l to glcpp-lex.c */
int

View File

@@ -23,6 +23,20 @@
#include "glcpp.h"
void
glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)
{
parser->errors = talloc_asprintf_append(parser->errors, "%u:%u(%u): "
"preprocessor error: ",
locp->source, locp->first_line,
locp->first_column);
va_list ap;
va_start(ap, fmt);
parser->errors = talloc_vasprintf_append(parser->errors, fmt, ap);
va_end(ap);
parser->errors = talloc_strdup_append(parser->errors, "\n");
}
extern int
preprocess(void *talloc_ctx, const char **shader, size_t *shader_len)
{