diff options
| author | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-17 12:03:25 -0700 | 
|---|---|---|
| committer | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-21 12:31:02 -0700 | 
| commit | f1e6c069fac93dd2b7b2026ccd24833a066c895a (patch) | |
| tree | 37bd98609c64e6b87c05308c6c69f567c4208920 /glcpp | |
| parent | b78c9ddfbfecb983f7ab519bb07889333bdab959 (diff) | |
glcpp: Introduce new glcpp_error function.
Diffstat (limited to 'glcpp')
| -rw-r--r-- | glcpp/glcpp-parse.y | 3 | ||||
| -rw-r--r-- | glcpp/glcpp.h | 3 | ||||
| -rw-r--r-- | glcpp/pp.c | 14 | 
3 files changed, 18 insertions, 2 deletions
diff --git a/glcpp/glcpp-parse.y b/glcpp/glcpp-parse.y index f26dd9a0db..d7a104893a 100644 --- a/glcpp/glcpp-parse.y +++ b/glcpp/glcpp-parse.y @@ -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 * diff --git a/glcpp/glcpp.h b/glcpp/glcpp.h index 2d4c84796b..45bbff3ad4 100644 --- a/glcpp/glcpp.h +++ b/glcpp/glcpp.h @@ -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 diff --git a/glcpp/pp.c b/glcpp/pp.c index 04ea0a4797..5d1ff8c682 100644 --- a/glcpp/pp.c +++ b/glcpp/pp.c @@ -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)  {  | 
