diff options
| author | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-18 19:54:25 -0700 | 
|---|---|---|
| committer | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-21 12:41:05 -0700 | 
| commit | c9529c4d7727e0ff9da71f0941746e4d213dd689 (patch) | |
| tree | 223030d395fe0895ec7b33c08ddb24eb1e5c9551 | |
| parent | 62b4b7785a01f11e7fcd9bf76dae6b3c0a16d537 (diff) | |
glcpp: Add glcpp_warning for printing warnings to the info log.
| -rw-r--r-- | glcpp/glcpp.h | 5 | ||||
| -rw-r--r-- | glcpp/pp.c | 16 | 
2 files changed, 21 insertions, 0 deletions
| diff --git a/glcpp/glcpp.h b/glcpp/glcpp.h index 8167a481d5..bb0ac95aed 100644 --- a/glcpp/glcpp.h +++ b/glcpp/glcpp.h @@ -167,9 +167,14 @@ glcpp_parser_parse (glcpp_parser_t *parser);  void  glcpp_parser_destroy (glcpp_parser_t *parser); +/* Functions for writing to the info log */ +  void  glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...); +void +glcpp_warning (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 846d35506f..eaca4819ce 100644 --- a/glcpp/pp.c +++ b/glcpp/pp.c @@ -40,6 +40,22 @@ glcpp_error (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)  	parser->info_log = talloc_strdup_append(parser->info_log, "\n");  } +void +glcpp_warning (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...) +{ +	parser->info_log = talloc_asprintf_append(parser->info_log, +						  "%u:%u(%u): " +						  "preprocessor warning: ", +						  locp->source, +						  locp->first_line, +						  locp->first_column); +	va_list ap; +	va_start(ap, fmt); +	parser->info_log = talloc_vasprintf_append(parser->info_log, fmt, ap); +	va_end(ap); +	parser->info_log = talloc_strdup_append(parser->info_log, "\n"); +} +  extern int  preprocess(void *talloc_ctx, const char **shader, size_t *shader_len)  { | 
